From nobody Mon Sep 22 15:20:18 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 4cVmyC3YQJz682jS; Mon, 22 Sep 2025 15:20:19 +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 4cVmyC0rf3z3Wj4; Mon, 22 Sep 2025 15:20:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758554419; 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=2J0POWH17BuCDppObbYfXm5hGp6P6AdwIYAnTxr3mS8=; b=Chy6mV5y0pot1tI71/xRoYnxWvztwR0T4oEhfHOPhRFreb3Q5iZXrHB3ltY5NwUwE04DOj ZFfHEGTNqatu5SmMMDmclm1HVZZsm/Gcd+g8VfrhmvbTwcmaGRpUbQyOZ5n8g7t8pPvopw JmJBOCmXfLGGPY0VTH/JDlguq1o3LEZrT8PzZTjt69ih3g1Kp33BMhqAUGyGmm4hqTByrv c0SReVRAA6qcZJc8CYOpU8NTqopZOW4dkz5plvCYl2Oncy/YbunZgWTn0dZfJ2Vc+hW4Iu KHcw67enwfi3+YcGIK7sBXiuDgC7m7RI+qXNLyelGCNDnUEmfOYOZOFMrZhEEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758554419; 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=2J0POWH17BuCDppObbYfXm5hGp6P6AdwIYAnTxr3mS8=; b=VY+vElWCJcRh+kjYNrjRotJlzhdjHBWemU0VeKTPL7G33QBPoft8pt2vQvdj6WqW15SNFa EMUFvpmE0yzCOPGBP7oKSqHlJvBG0SHzebYWbgMlAd1wzdCItY0Q/ke6eWeTs5YagmRX9I WsHhGWHL7DXj6fBUstCWT4yUPTd0cWwn4UZmpSRVsloYbqzw59TDA+n3WdgcjgNgfc/wJ0 fqXl4PEewhKaHwMCUAXVQoBA5p/m4VtY707LDYfkF1ovIKt76l97wheQmkteahUegebDbD GPloZOdsOu+J763cmMrOn2Wo/IdQosPXhu3cPCV2m+fP4qKgi9SIUXm+KuKOQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1758554419; a=rsa-sha256; cv=none; b=ho2NX8JlamCI07sSK5KSW6GLP8k/oR4+JrpKbYlrEsQnklAawHrlYLkiGg+ipQgCIxVOqn q+yC7NXUcl+Zg1TY/JyHmiezos19p9j7R1hujc9vMg7GOtA4B+MnoxWonux1OmllwQPzdm PEeUiiLALg8BV/EHi2jIN4nCWVoBiyAY+TxZ1pEtgl/RTNAY+IUS0uuWSVkd8gh+XqDNAI L4/lwDI2qXmDQygIW0XCjk51GDv3BJ+FHYpKtDaazZ9IXFMkmXbm22e9xVT9LACZlcZBIV RYbPNkCq+EOVw5t2YZFBoZuBPPcGmj+/mxT4Fh+DdjtiM+nEvxraw3vVaZ5vWw== 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 4cVmyC0983z140X; Mon, 22 Sep 2025 15:20:19 +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 58MFKIr4069189; Mon, 22 Sep 2025 15:20:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58MFKIAY069186; Mon, 22 Sep 2025 15:20:18 GMT (envelope-from git) Date: Mon, 22 Sep 2025 15:20:18 GMT Message-Id: <202509221520.58MFKIAY069186@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Andrew Turner Subject: git: 6492b6247826 - stable/15 - arm64: Move the FEAT_PAN check later 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 6492b6247826681258034a768e37af8c36179683 Auto-Submitted: auto-generated The branch stable/15 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=6492b6247826681258034a768e37af8c36179683 commit 6492b6247826681258034a768e37af8c36179683 Author: Andrew Turner AuthorDate: 2025-09-19 10:05:46 +0000 Commit: Andrew Turner CommitDate: 2025-09-20 01:00:52 +0000 arm64: Move the FEAT_PAN check later We only need to enable PAN (Privileged access never) before userspace is running. Before that there are no unprivileged mappings to protect the kernel from accessing. While here switch to use get_kernel_reg to handle the case some CPUs have FEAT_PAN, while some don't. Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52576 (cherry picked from commit 72828486ca9412f118d7e2316e584cd1cab8c90f) --- sys/arm64/arm64/machdep.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 47c701e8588c..29ffa5109305 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -178,7 +178,8 @@ pan_check(const struct cpu_feat *feat __unused, u_int midr __unused) { uint64_t id_aa64mfr1; - id_aa64mfr1 = READ_SPECIALREG(id_aa64mmfr1_el1); + if (!get_kernel_reg(ID_AA64MMFR1_EL1, &id_aa64mfr1)) + return (FEAT_ALWAYS_DISABLE); if (ID_AA64MMFR1_PAN_VAL(id_aa64mfr1) == ID_AA64MMFR1_PAN_NONE) return (FEAT_ALWAYS_DISABLE); @@ -209,7 +210,7 @@ pan_enable(const struct cpu_feat *feat __unused, CPU_FEAT(feat_pan, "Privileged access never", pan_check, NULL, pan_enable, - CPU_FEAT_EARLY_BOOT | CPU_FEAT_PER_CPU); + CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU); bool has_hyp(void)