From nobody Fri Aug 22 14:35:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4c7jQm3lTdz65vWn; Fri, 22 Aug 2025 14:35:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4c7jQm2ZR0z3Gx1; Fri, 22 Aug 2025 14:35:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1755873328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m+xTg3PxbeNxcAJ10pzkcuNMc3OIv1p3vMpUoMrY5jQ=; b=xFJTJ/e6yhTmE5BZlZAlJyFYDmWEAjuLlRx8G3LDTgHkgNHviAKx63fzJ48kM9y/lR4iwC haxLnmdoTn9jjmhLdi4ilp3+sCs7TdZNhe4Xr2GgZ6pQ3zltgmm0a7yxVA2D+JGn0gGaqX QINRWJyo9j0SrrDigj343iBWQ+iGvxjijSY10I5KiBXewMuWS1flACfDPB6mEiDtBGMxMx 3VwkDneZvXM0/YlQ1BMn5g+UyXNi/YjXZwus16UxJZNiyO2sH95tlraOJPB4RhlvZQlJ18 O4XFpNoERdWS1ZqDD9vqbm2B9R8Ls0sihzRq5mEmj6xzpPbqylmK6O5lTayIrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1755873328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m+xTg3PxbeNxcAJ10pzkcuNMc3OIv1p3vMpUoMrY5jQ=; b=cLfcDAI412xvyU8YFxsRpiHBnZvBFrk5fzMCyVTBHgDok2m5+Xfk4oym1pfk5vSXYpBe6y yBBeRpSxmDBLI8QUVSySUilaedr+3TfESyB2JJs4jzJ2sG8mmJKGKTp3hlu+hqZX7PFb8I k/QzyL73SGcTBFGliCyc+Kp3AeKk+/YnTPq85hXo8zsi1HCjVToygVqz63ko/HUmieoIF5 p/oUk5pdyFwqov4oPxdxf0MRc2trrMhjtTG5Cr3UCaS7Wu+oKKxDwUsQmqm2rJxW6s+are SjOMZ1cr51YZggJeIBFYvgbidwu1kbLi0rQMqqnu52DQ+dKi5RD5CkXfPjhdYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1755873328; a=rsa-sha256; cv=none; b=HKfPJci4NZPwaCJlRownJzcRkIO8YtFOHC2RGv0vNe54MgytiRgYjlAp16XLfta0/HmrEU E52hg3YfRoxzvEVdCoMZraYgYzDil8xBPnymFDp+g55u/VT2YcunyDLxPerGNAeGoN+Vok LNIKcmD9ZZxs1CQo6V5/9dD48rUjjMQjtlK7w3ZhXy57G1Z7yKUSDIQ7F/2XgctVjMa6/D fK/2wU+9YjrRkib+F1MH4kbp3HF8kp5USRvJ07xvPnA5PYlz1S3FWPtBg4GFWCQOD282u2 d6YWOIAMh2iQM0U6c6c/m18EkkK89cIBk53SuwabP8af6pMS/+iHRKQcupb85Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4c7jQm29x7zqgx; Fri, 22 Aug 2025 14:35:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 57MEZSVX016242; Fri, 22 Aug 2025 14:35:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 57MEZSvG016239; Fri, 22 Aug 2025 14:35:28 GMT (envelope-from git) Date: Fri, 22 Aug 2025 14:35:28 GMT Message-Id: <202508221435.57MEZSvG016239@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: e679319b840e - main - rtld: Compute obj->maxsize for obj_rtld List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e679319b840e7c3298a0b0c4149113d4bbe63110 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e679319b840e7c3298a0b0c4149113d4bbe63110 commit e679319b840e7c3298a0b0c4149113d4bbe63110 Author: John Baldwin AuthorDate: 2025-08-22 13:59:09 +0000 Commit: John Baldwin CommitDate: 2025-08-22 13:59:09 +0000 rtld: Compute obj->maxsize for obj_rtld Compute this while parsing the program headers in parse_rtld_phdr(). Reviewed by: kib Obtained from: CheriBSD Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D52033 --- libexec/rtld-elf/rtld.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 8977d5947010..a8a2a0fa5a07 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -2437,11 +2437,21 @@ parse_rtld_phdr(Obj_Entry *obj) { const Elf_Phdr *ph; Elf_Addr note_start, note_end; + bool first_seg; + first_seg = true; obj->stack_flags = PF_X | PF_R | PF_W; for (ph = obj->phdr; (const char *)ph < (const char *)obj->phdr + obj->phsize; ph++) { switch (ph->p_type) { + case PT_LOAD: + if (first_seg) { + obj->vaddrbase = rtld_trunc_page(ph->p_vaddr); + first_seg = false; + } + obj->mapsize = rtld_round_page(ph->p_vaddr + + ph->p_memsz) - obj->vaddrbase; + break; case PT_GNU_STACK: obj->stack_flags = ph->p_flags; break;