From nobody Sat May 3 15:20:11 2025 X-Original-To: dev-commits-src-all@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 4ZqWgc130Kz5vTJP; Sat, 03 May 2025 15:20:12 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZqWgb5nYvz3Kwg; Sat, 03 May 2025 15:20:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746285611; 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=y16Iiik/nwmgN4u6JTJT0X3cYYyrBT+kaxWGtkWbSeE=; b=Hn09ZFe8Y9Q+t1ii1t/rD/tuMq7SM994tJAyhSx/30TXhiLC7PK4QOmCyFAw7MX8zAjprU Yf1QqNHbooAYu9GtYfFdExGNFHRLJvB6s5oCowWRvw2AUTPrQArAN2QUSvH3jwOOmV8tHS l38swaxniU5oluFWsS4fl4fR8JSTkcBVgUB8gq6sVC60OWuY+ldp8b+XRO71aunLJzZcqd TrDS4Wvu0reZxaehuL7snwXDUpYkK0EIQXsdvbuyCtO16tPQO+smvjukLC0i/4KXj0qg/g xrThpW4Mt/ld/zp8JmAlQrHYZK0ImkFZoFJFXTuxkN1aJVaqvTfr4WecfypQRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746285611; 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=y16Iiik/nwmgN4u6JTJT0X3cYYyrBT+kaxWGtkWbSeE=; b=QxFoYz2nIUiH8NOphSbCHjmuTFCPRpKCOfy6+Bkig/O7z35z8NyIkR5SW8rn78AuvzWDEo CG5e1WE3j+ikBw5RjKd0FHVoi8qMcDDktEX3SF6Z4dVjI5tG6AfPLYoyA+/C1vvF6vYKjs g6dtT+lFi8P39VUOWf1sHwXYrD0a7tp8J41ZUk8rk3lc3OytiMm1hMEqtADV9Kc884PTD3 9NG8f9UrqYCcWBp6eKak60MveoVaTlaa59jc4NQADcBM9pkcWMG700Ih/c7a+PxE7+upk7 viX2qXdjN+g6tL6+0ODkmASzspudom655OA9c/1sgZtDtxytWojrONq599zBaw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1746285611; a=rsa-sha256; cv=none; b=PLSD5F4u+4YmxrKacWnJ6enZXBrVjOkZWb8MjqC2sAnyFnAt0KRrTs/dTcmmU0mkDaQDHX xc/1DAupf0H0UuXCjHGIPDJEO7SMu2W2BK0G4UvflIT8PW/TXHn3VCknqlqeyCAJy9vtfP qBDL8wCKHcUCSeWzxw5/eHPQhkp9255/mS5pW7KVrwLFO1pZMi9D909zC0uytoGZayrka1 +Q2PBDLMpJ9EayugTSuCcq39VMmC1yKpVTHJmcDaqfE61b3wl1s1U2DB2mWyDxskErAnVV zWk1jNNVKYqqfkSLc9Ie1UfRTYkOSqiT7zXJnP3CiSw+YoSQe/rUJVKP85ErCg== 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 4ZqWgb5FJdzp54; Sat, 03 May 2025 15:20:11 +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 543FKB7v051350; Sat, 3 May 2025 15:20:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 543FKBM4051342; Sat, 3 May 2025 15:20:11 GMT (envelope-from git) Date: Sat, 3 May 2025 15:20:11 GMT Message-Id: <202505031520.543FKBM4051342@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: c5e3af9013ef - stable/14 - elfctl: add knowledge about the la57 bit List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c5e3af9013efa1fe015eed0f580c6742f8a5ad8a Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c5e3af9013efa1fe015eed0f580c6742f8a5ad8a commit c5e3af9013efa1fe015eed0f580c6742f8a5ad8a Author: Konstantin Belousov AuthorDate: 2025-04-19 10:47:45 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-03 15:19:41 +0000 elfctl: add knowledge about the la57 bit (cherry picked from commit b989c1dd1e2edc8cf7597d276625b454b7b72e6d) --- usr.bin/elfctl/elfctl.1 | 14 ++++++++++++++ usr.bin/elfctl/elfctl.c | 5 ++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/usr.bin/elfctl/elfctl.1 b/usr.bin/elfctl/elfctl.1 index 5ba016b664a3..e72c6bcf250a 100644 --- a/usr.bin/elfctl/elfctl.1 +++ b/usr.bin/elfctl/elfctl.1 @@ -95,6 +95,20 @@ Features may also be specified as a single combined value: .Bd -literal -offset indent elfctl -e =0x5 file .Ed +.Sh NOTES +On amd64, on a machine with LA57 (5-level paging) mode supported and +enabled, if both +.Va la57 +and +.Va la48 +feature flags are specified, the +.Va la57 +feature has priority over +.Va la48 . +The +.Va vm.pmap.prefer_uva_la48 +sysctl MIB defines the default user address space size for binaries +which do not set either of these flags. .Sh SEE ALSO .Xr mitigations 7 .Sh HISTORY diff --git a/usr.bin/elfctl/elfctl.c b/usr.bin/elfctl/elfctl.c index d9cb557bbad4..cacd30b44b2d 100644 --- a/usr.bin/elfctl/elfctl.c +++ b/usr.bin/elfctl/elfctl.c @@ -67,7 +67,10 @@ static struct ControlFeatures featurelist[] = { "Disable implicit PROT_MAX" }, { "nostackgap", NT_FREEBSD_FCTL_STKGAP_DISABLE, "Disable stack gap" }, { "wxneeded", NT_FREEBSD_FCTL_WXNEEDED, "Requires W+X mappings" }, - { "la48", NT_FREEBSD_FCTL_LA48, "amd64: Limit user VA to 48bit" }, + { "la48", NT_FREEBSD_FCTL_LA48, + "amd64: Limit user virtual addresses to 48 bits" }, + { "la57", NT_FREEBSD_FCTL_LA57, + "amd64: Allow the use of 57-bit virtual addresses when available" }, }; static struct option long_opts[] = {