]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
powerpc/book3e: Activate KUEP at all time
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Tue, 19 Oct 2021 07:29:15 +0000 (09:29 +0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 9 Dec 2021 11:41:17 +0000 (22:41 +1100)
On book3e,
- When using 64 bits PTE: User pages don't have the SX bit defined
so KUEP is always active.
- When using 32 bits PTE: Implement KUEP by clearing SX bit during
TLB miss for user pages. The impact is minimal and worth neither
boot time nor build time selection.

Activate it at all time.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/e376b114283fb94504e2aa2de846780063252cde.1634627931.git.christophe.leroy@csgroup.eu
arch/powerpc/kernel/head_fsl_booke.S
arch/powerpc/platforms/Kconfig.cputype

index 0a9a0f301474def511fdf130290d2a0bed6a9422..4622b50a5208d14c6eb6cd3970cc799b77a072bd 100644 (file)
@@ -777,6 +777,7 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_BIG_PHYS)
        andi.   r10, r11, _PAGE_USER    /* Test for _PAGE_USER */
        slwi    r10, r12, 1
        or      r10, r10, r12
+       rlwinm  r10, r10, 0, ~_PAGE_EXEC        /* Clear SX on user pages */
        iseleq  r12, r12, r10
        rlwimi  r13, r12, 0, 20, 31     /* Get RPN from PTE, merge w/ perms */
        mtspr   SPRN_MAS3, r13
index 4f8774d65aa8c8828ea55bd0c679452058891edb..408d8ee5bfcd8d2d37af36f9e42196aae4c0ad4a 100644 (file)
@@ -299,6 +299,8 @@ config PPC_FSL_BOOK3E
        select FSL_EMB_PERFMON
        select PPC_SMP_MUXED_IPI
        select PPC_DOORBELL
+       select PPC_HAVE_KUEP
+       select PPC_KUEP
        default y if FSL_BOOKE
 
 config PTE_64BIT