From patchwork Fri Apr 11 09:16:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kevin Brodsky X-Patchwork-Id: 14047901 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id EBA9AC369A2 for ; Fri, 11 Apr 2025 09:17:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 76B01280198; Fri, 11 Apr 2025 05:17:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 718D4280190; Fri, 11 Apr 2025 05:17:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5E096280198; Fri, 11 Apr 2025 05:17:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 3FA4B280190 for ; Fri, 11 Apr 2025 05:17:11 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id D84BBB0F40 for ; Fri, 11 Apr 2025 09:17:11 +0000 (UTC) X-FDA: 83321209062.28.D264F9E Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf28.hostedemail.com (Postfix) with ESMTP id 5563DC000E for ; Fri, 11 Apr 2025 09:17:10 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf28.hostedemail.com: domain of kevin.brodsky@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=kevin.brodsky@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744363030; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4bn2iTHRxV4Y+JziL3tQkHFaUTnfOTGLKiy637DrfqM=; b=a8DTr6I8/rltZSVsYU5J9vS/VR19gnXCzpIN7pPpKVuWxAowQmXtI/d8Q7gT9NjwG7pEzi r/RNBiHtMlERN65Gt2xjHlD1AdsN4MMVF1J8+WaQTSIO2eDT9rbu9LvZqeWwUrjWZNIArE 7w/jPdHDaAyREQKLpC8GpCFKzLVrOaQ= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf28.hostedemail.com: domain of kevin.brodsky@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=kevin.brodsky@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744363030; a=rsa-sha256; cv=none; b=GFlf1Eb7CAQskpJySrcU42LSkgeYNN3SOCMa/aAk5GPOsGjiX7suiw/NJVdLoakSn8bdgM nMGbV0+dYHE2oZb+RRS+PfckavSv4XMKACMCc1nGzL8OqeBcIOxJbo9WS3y1AhyqO2sugH q2JODHyv4t29LR82u/z6kaq7nFvlybg= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2C2C7106F; Fri, 11 Apr 2025 02:17:09 -0700 (PDT) Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com [10.1.194.54]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 9A1553F6A8; Fri, 11 Apr 2025 02:17:05 -0700 (PDT) From: Kevin Brodsky To: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, Kevin Brodsky , Andrew Morton , Mark Brown , Catalin Marinas , Dave Hansen , David Hildenbrand , Ira Weiny , Jann Horn , Jeff Xu , Joey Gouly , Kees Cook , Linus Walleij , Andy Lutomirski , Marc Zyngier , Peter Zijlstra , Pierre Langlois , Quentin Perret , Rick Edgecombe , "Mike Rapoport (IBM)" , Ryan Roberts , Thomas Gleixner , Will Deacon , Matthew Wilcox , Qi Zheng , linux-arm-kernel@lists.infradead.org, x86@kernel.org Subject: [RFC PATCH v4 03/18] arm64: mm: Enable overlays for all EL1 indirect permissions Date: Fri, 11 Apr 2025 10:16:16 +0100 Message-ID: <20250411091631.954228-4-kevin.brodsky@arm.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20250411091631.954228-1-kevin.brodsky@arm.com> References: <20250411091631.954228-1-kevin.brodsky@arm.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 5563DC000E X-Stat-Signature: e6skqarsxw7wd3yop48p1npqp7dscwcy X-HE-Tag: 1744363030-132171 X-HE-Meta: U2FsdGVkX18aF8wk2xEMx/m66xWHHikz3pY3vnI+OaU3Qi4GQw5fbkYWH5LQbw56zIfG8d+HKWsneVGwCSiMmV9bGelK+QuzXyomqlg1kdgyEdbNWQvtvjXOfU6w6dmEFoX0LXPa8Q3MVd9dQH11JR3kEqUxWUwsKEJ12MwO1BT96xE2Xeourb+lA6EjMRZy46x8I+9ZfUkBXCETvXrEsccreK83zgUvIcJCn6TPUn8Sh+L/7ukIBjqcpZ6B569SKpNfaDoJAk8G2ctHU47+J1R9un+oswS7MWuPoFbW4Vz2BLJPmpdgNpAaZwVfI3WRxleO252yK9yAV821xFy+KFC760DL6iTQvn4SvFA72v3tb0g4bBVKpiT9Hth0yfhZi5rq+CBVkJi2YpcPDne42yooigeDw6Hc0GtG1RDlBjLS1uNKG2tOEKUrh5kgNVwicksQt1tmjtw8lTAwc0d/19QgaMBO9daItMq3ryBlbyOA0SOQpa5uKNFCwcA6TjxenQFt4FW8/i8D5eDf6lZfJoYXyb40uD0NQCM4J+gklZ7FVKsgyYtW+nv5rnQeTPYdftkUhPOb6QJAmVy/L3fSOWwbJMTZSHD2TqX6QId4yZIhzSZ6aUEdIokut6DlHWyX5M3yB34daNwWzWhisHcpbKfr9y91r/uLOOS/4fhjKzsZ1EI8CsUmZoAUubKwNIIM3mE0rxpG+naGc+h+A1kh5QtZ66TC41Pv4L5reehxgHfDqGHSaxQkVewqJeEup/g2Y1YrfpDk3K+XQtfOGx3+k7mX8slkLWGvGIjX4tupAh+7qrYCDrZ2cLXwt+fRmEQ1WilmdlADrlfqPOYGf1/1b25+LCCxC4mPAqvQ6A1A52vXgIDo1yHunZTrl+kyL1cFAM6mLxRtyVYkE/mImqtjkVldx6X+bVPA9NP64ozezeyGiBVUD9pHevQYJxW0jszQJl7w9DKPWddQp/tUHy3 aA0Ua7Eu TLkHopXc7vsld3q8FlXIKe85b+pHc5HhBIuO1LDvCIh++K3Ze7tPkByzk0NjUlipqi61KjU94kSyG3nbDx0XJT0S+H7l2I9w0oT08o6tU7nQEFyBAdeV1cAAfGZsDW0AYv38dsdvn1/4irr5mt6gsf+kQvQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: In preparation of using POE inside the kernel, enable "Overlay applied" for all stage 1 base permissions in PIR_EL1. This ensures that the permissions set in POR_EL1 affect all kernel mappings. Signed-off-by: Kevin Brodsky --- arch/arm64/include/asm/pgtable-prot.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/arm64/include/asm/pgtable-prot.h b/arch/arm64/include/asm/pgtable-prot.h index 7830d031742e..c863d8e51281 100644 --- a/arch/arm64/include/asm/pgtable-prot.h +++ b/arch/arm64/include/asm/pgtable-prot.h @@ -181,13 +181,13 @@ static inline bool __pure lpa2_is_enabled(void) PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_GCS), PIE_NONE_O) | \ PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_GCS_RO), PIE_NONE_O) | \ PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_EXECONLY), PIE_NONE_O) | \ - PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_READONLY_EXEC), PIE_R) | \ - PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_SHARED_EXEC), PIE_RW) | \ - PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_READONLY), PIE_R) | \ - PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_SHARED), PIE_RW) | \ - PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_KERNEL_ROX), PIE_RX) | \ - PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_KERNEL_EXEC), PIE_RWX) | \ - PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_KERNEL_RO), PIE_R) | \ - PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_KERNEL), PIE_RW)) + PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_READONLY_EXEC), PIE_R_O) | \ + PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_SHARED_EXEC), PIE_RW_O) | \ + PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_READONLY), PIE_R_O) | \ + PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_SHARED), PIE_RW_O) | \ + PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_KERNEL_ROX), PIE_RX_O) | \ + PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_KERNEL_EXEC), PIE_RWX_O) | \ + PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_KERNEL_RO), PIE_R_O) | \ + PIRx_ELx_PERM_PREP(pte_pi_index(_PAGE_KERNEL), PIE_RW_O)) #endif /* __ASM_PGTABLE_PROT_H */