powerpc: copy_thread remove unused pkey code
authorNicholas Piggin <npiggin@gmail.com>
Sat, 25 Mar 2023 12:28:57 +0000 (22:28 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 11 Apr 2023 13:13:32 +0000 (23:13 +1000)
The pkey registers (AMR, IAMR) do not get loaded from the switch frame
so it is pointless to save anything there. Remove the dead code.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230325122904.2375060-2-npiggin@gmail.com
arch/powerpc/kernel/process.c

index a7f9f3f..7fe7003 100644 (file)
@@ -1813,6 +1813,7 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args)
        sp -= STACK_SWITCH_FRAME_SIZE;
        ((unsigned long *)sp)[0] = sp + STACK_SWITCH_FRAME_SIZE;
        kregs = (struct pt_regs *)(sp + STACK_SWITCH_FRAME_REGS);
+       kregs->nip = ppc_function_entry(f);
        p->thread.ksp = sp;
 
 #ifdef CONFIG_HAVE_HW_BREAKPOINT
@@ -1845,17 +1846,6 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args)
 
        p->thread.tidr = 0;
 #endif
-       /*
-        * Run with the current AMR value of the kernel
-        */
-#ifdef CONFIG_PPC_PKEY
-       if (mmu_has_feature(MMU_FTR_BOOK3S_KUAP))
-               kregs->amr = AMR_KUAP_BLOCKED;
-
-       if (mmu_has_feature(MMU_FTR_BOOK3S_KUEP))
-               kregs->iamr = AMR_KUEP_BLOCKED;
-#endif
-       kregs->nip = ppc_function_entry(f);
        return 0;
 }