powerpc: use CONFIG_EXECMEM instead of CONFIG_MODULES where appropriate
authorMike Rapoport (IBM) <rppt@kernel.org>
Sun, 5 May 2024 16:06:26 +0000 (19:06 +0300)
committerLuis Chamberlain <mcgrof@kernel.org>
Tue, 14 May 2024 07:31:44 +0000 (00:31 -0700)
There are places where CONFIG_MODULES guards the code that depends on
memory allocation being done with module_alloc().

Replace CONFIG_MODULES with CONFIG_EXECMEM in such places.

Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
arch/powerpc/Kconfig
arch/powerpc/include/asm/kasan.h
arch/powerpc/kernel/head_8xx.S
arch/powerpc/kernel/head_book3s_32.S
arch/powerpc/lib/code-patching.c
arch/powerpc/mm/book3s32/mmu.c

index c45fa9d7fb7695cb4b11d5b75557ba86b81cbbe4..c7076e223fcdb2c388f8a36d60432e76f99af43b 100644 (file)
@@ -286,7 +286,7 @@ config PPC
        select IOMMU_HELPER                     if PPC64
        select IRQ_DOMAIN
        select IRQ_FORCED_THREADING
-       select KASAN_VMALLOC                    if KASAN && MODULES
+       select KASAN_VMALLOC                    if KASAN && EXECMEM
        select LOCK_MM_AND_FIND_VMA
        select MMU_GATHER_PAGE_SIZE
        select MMU_GATHER_RCU_TABLE_FREE
index 365d2720097cb0724ced2c978de21e3f919f5b69..b5bbb94c51f6db0af6270f95d65ef7ab99f30e59 100644 (file)
@@ -19,7 +19,7 @@
 
 #define KASAN_SHADOW_SCALE_SHIFT       3
 
-#if defined(CONFIG_MODULES) && defined(CONFIG_PPC32)
+#if defined(CONFIG_EXECMEM) && defined(CONFIG_PPC32)
 #define KASAN_KERN_START       ALIGN_DOWN(PAGE_OFFSET - SZ_256M, SZ_256M)
 #else
 #define KASAN_KERN_START       PAGE_OFFSET
index 647b0b445e89dbf26c80b4dee0a30e766fa9ec75..edc479a7c2bce366906e821a8c7a23596dc9509b 100644 (file)
@@ -199,12 +199,12 @@ instruction_counter:
        mfspr   r10, SPRN_SRR0  /* Get effective address of fault */
        INVALIDATE_ADJACENT_PAGES_CPU15(r10, r11)
        mtspr   SPRN_MD_EPN, r10
-#ifdef CONFIG_MODULES
+#ifdef CONFIG_EXECMEM
        mfcr    r11
        compare_to_kernel_boundary r10, r10
 #endif
        mfspr   r10, SPRN_M_TWB /* Get level 1 table */
-#ifdef CONFIG_MODULES
+#ifdef CONFIG_EXECMEM
        blt+    3f
        rlwinm  r10, r10, 0, 20, 31
        oris    r10, r10, (swapper_pg_dir - PAGE_OFFSET)@ha
index c1d89764dd22241db42f458a17bd04bf7443019e..57196883a00e36e869491aab0b1ea027436d8f8f 100644 (file)
@@ -419,14 +419,14 @@ InstructionTLBMiss:
  */
        /* Get PTE (linux-style) and check access */
        mfspr   r3,SPRN_IMISS
-#ifdef CONFIG_MODULES
+#ifdef CONFIG_EXECMEM
        lis     r1, TASK_SIZE@h         /* check if kernel address */
        cmplw   0,r1,r3
 #endif
        mfspr   r2, SPRN_SDR1
        li      r1,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC
        rlwinm  r2, r2, 28, 0xfffff000
-#ifdef CONFIG_MODULES
+#ifdef CONFIG_EXECMEM
        li      r0, 3
        bgt-    112f
        lis     r2, (swapper_pg_dir - PAGE_OFFSET)@ha   /* if kernel address, use */
@@ -442,7 +442,7 @@ InstructionTLBMiss:
        andc.   r1,r1,r2                /* check access & ~permission */
        bne-    InstructionAddressInvalid /* return if access not permitted */
        /* Convert linux-style PTE to low word of PPC-style PTE */
-#ifdef CONFIG_MODULES
+#ifdef CONFIG_EXECMEM
        rlwimi  r2, r0, 0, 31, 31       /* userspace ? -> PP lsb */
 #endif
        ori     r1, r1, 0xe06           /* clear out reserved bits */
index c6ab46156cda597e01572b1b269ff9125ec0d758..7af791446ddf19cce6bb1b4a77ae7bcbbdf800d5 100644 (file)
@@ -225,7 +225,7 @@ void __init poking_init(void)
 
 static unsigned long get_patch_pfn(void *addr)
 {
-       if (IS_ENABLED(CONFIG_MODULES) && is_vmalloc_or_module_addr(addr))
+       if (IS_ENABLED(CONFIG_EXECMEM) && is_vmalloc_or_module_addr(addr))
                return vmalloc_to_pfn(addr);
        else
                return __pa_symbol(addr) >> PAGE_SHIFT;
index 100f999871bc3be6c56e2ca53ff58f54c2909234..625fe7d08e067bdfe00b1ceebdc92774b2267d9e 100644 (file)
@@ -184,7 +184,7 @@ unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
 
 static bool is_module_segment(unsigned long addr)
 {
-       if (!IS_ENABLED(CONFIG_MODULES))
+       if (!IS_ENABLED(CONFIG_EXECMEM))
                return false;
        if (addr < ALIGN_DOWN(MODULES_VADDR, SZ_256M))
                return false;