On 5/26/26 13:15, Kevin Brodsky wrote: > In preparation of using POE inside the kernel, enable "Overlay > applied" for kernel memory types in PIR_EL1. This ensures that the > permissions set in POR_EL1 affect all kernel mappings. > > User memory types must be left untouched (overlays not applied) > because any privileged access to user memory (e.g. futex atomic > without FEAT_LSUI) would then be mistakenly checked against POR_EL1.
That makes sense. Still learning the architecture, but ... leaving the user bits as is sounds good to me (and unrelated to using overlays for kernel memory). Reviewed-by: David Hildenbrand (Arm) <[email protected]> > > Signed-off-by: Kevin Brodsky <[email protected]> > --- > arch/arm64/include/asm/pgtable-prot.h | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/arm64/include/asm/pgtable-prot.h > b/arch/arm64/include/asm/pgtable-prot.h > index 212ce1b02e15..d4d45ab86a5a 100644 > --- a/arch/arm64/include/asm/pgtable-prot.h > +++ b/arch/arm64/include/asm/pgtable-prot.h > @@ -183,9 +183,9 @@ static inline bool __pure lpa2_is_enabled(void) > 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_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 */ > -- Cheers, David
