Messages in this thread Patch in this message | | | From | Christophe Leroy <> | Subject | [PATCH] powerpc/4xx: Fix setup_kuep() on SMP | Date | Mon, 28 Jun 2021 06:56:12 +0000 (UTC) |
| |
On SMP, setup_kuep() is also called from start_secondary() since commit 86f46f343272 ("powerpc/32s: Initialise KUAP and KUEP in C").
start_secondary() is not an __init function.
Remove the __init marker from setup_kuep() and bail out when not caller on the first CPU as the work is already done.
Reported-by: kernel test robot <lkp@intel.com> Fixes: 10248dcba120 ("powerpc/44x: Implement Kernel Userspace Exec Protection (KUEP)") Fixes: 86f46f343272 ("powerpc/32s: Initialise KUAP and KUEP in C"). Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> --- arch/powerpc/mm/nohash/44x.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/mm/nohash/44x.c b/arch/powerpc/mm/nohash/44x.c index 7da6d1e9fc9b..20c18bd5b9a0 100644 --- a/arch/powerpc/mm/nohash/44x.c +++ b/arch/powerpc/mm/nohash/44x.c @@ -241,8 +241,11 @@ void __init mmu_init_secondary(int cpu) #endif /* CONFIG_SMP */ #ifdef CONFIG_PPC_KUEP -void __init setup_kuep(bool disabled) +void setup_kuep(bool disabled) { + if (smp_processor_id() != boot_cpuid) + return; + if (disabled) patch_instruction_site(&patch__tlb_44x_kuep, ppc_inst(PPC_RAW_NOP())); else -- 2.25.0
| |