From nobody Fri Apr 3 22:49:36 2026 Received: from cstnet.cn (smtp21.cstnet.cn [159.226.251.21]) (using TLSv1.2 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D477A2874F5 for ; Sun, 22 Mar 2026 16:01:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.226.251.21 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774195311; cv=none; b=RF5eCMMbl1vw7nQrvWy8hVn3FvCUI3FVMPnZqpyKxcIrLoRAsS+g7vdWktYiIi9RsxUIDstj8bb2iFsrujSTtnMZBZbTDsqDqEARlKfO3/uYC4CMzLJK7tL+E6nzNRsTpHYcqqnGsYaMi6sM3NFNOzezU5BzNhE0nDMIn3Dpmqk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774195311; c=relaxed/simple; bh=FWmLoXvLtTVwj7yTa5bXkAxNKH9/o6x7CC0rlmgcH2k=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=LclVv9hDe1F8gXN7mu1dVB4o7fligdVXkPcG3QwRlbBy+S1TLyBfKdBN7BaA4alGSRrIrQwVmkgR16fZZAzVqjN2/UI/jrnDkMJvtNavziudJebiK3N0KmbzUbxF1H+i8+zIXbTYsBX4HprBGJyM7hSN8fy+MVGqWyifk1YgRAw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn; spf=pass smtp.mailfrom=iscas.ac.cn; arc=none smtp.client-ip=159.226.251.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iscas.ac.cn Received: from yzs (unknown [115.192.255.131]) by APP-01 (Coremail) with SMTP id qwCowADnkGw2EsBphWbRCg--.24488S2; Mon, 23 Mar 2026 00:00:55 +0800 (CST) From: Zishun Yi To: Paul Walmsley , Palmer Dabbelt , Albert Ou Cc: Alexandre Ghiti , Deepak Gupta , Zong Li , Thomas Gleixner , Charlie Jenkins , =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= , Nam Cao , Samuel Holland , Simon Schuster , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Zishun Yi Subject: [PATCH] riscv: Reset pmm when PR_TAGGED_ADDR_ENABLE is not set Date: Mon, 23 Mar 2026 00:00:22 +0800 Message-ID: <20260322160022.21908-1-vulab@iscas.ac.cn> X-Mailer: git-send-email 2.51.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: qwCowADnkGw2EsBphWbRCg--.24488S2 X-Coremail-Antispam: 1UD129KBjvdXoWrtw4kWr4xZr4rur1kXFWrZrb_yoWDZwc_ua 1rZrnrury5JF4DXFyjkw4rGr4Yqw18KF1kua10vryIyrW5CrWav398tFySqrn8XFZYg3Wx Xw17trZrCw12yjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUb3xFF20E14v26r4j6ryUM7CY07I20VC2zVCF04k26cxKx2IYs7xG 6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8w A2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr0_ Cr1l84ACjcxK6I8E87Iv67AKxVWUJVW8JwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gr0_Gr 1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xII jxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr 1lF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxa n2IY04v7MxkF7I0En4kS14v26r1q6r43MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4 AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE 17CEb7AF67AKxVWUtVW8ZwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMI IF0xvE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4l IxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvf C2KfnxnUUI43ZEXa7VUbGQ6JUUUUU== X-CM-SenderInfo: pyxotu46lvutnvoduhdfq/1tbiBwsOA2nABVwPNAAAsK Content-Type: text/plain; charset="utf-8" In set_tagged_addr_ctrl(), when PR_TAGGED_ADDR_ENABLE is not set, pmlen is correctly set to 0, but it forgets to reset pmm. This results in the CPU pmm state not corresponding to the software pmlen state. Fix this by resetting pmm along with pmlen. Fixes: 2e1743085887 ("riscv: Add support for the tagged address ABI") Signed-off-by: Zishun Yi Reviewed-by: Samuel Holland --- arch/riscv/kernel/process.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/riscv/kernel/process.c b/arch/riscv/kernel/process.c index aacb23978f93..5957effab57c 100644 --- a/arch/riscv/kernel/process.c +++ b/arch/riscv/kernel/process.c @@ -347,8 +347,10 @@ long set_tagged_addr_ctrl(struct task_struct *task, un= signed long arg) if (arg & PR_TAGGED_ADDR_ENABLE && (tagged_addr_disabled || !pmlen)) return -EINVAL; =20 - if (!(arg & PR_TAGGED_ADDR_ENABLE)) + if (!(arg & PR_TAGGED_ADDR_ENABLE)) { pmlen =3D PMLEN_0; + pmm =3D ENVCFG_PMM_PMLEN_0; + } =20 if (mmap_write_lock_killable(mm)) return -EINTR; --=20 2.51.2