Home
last modified time | relevance | path

Searched refs:kuap (Results 1 – 8 of 8) sorted by relevance

/Linux-v6.1/arch/powerpc/include/asm/book3s/32/
Dkup.h86 unsigned long kuap = current->thread.kuap; in __kuap_save_and_lock() local
88 regs->kuap = kuap; in __kuap_save_and_lock()
89 if (unlikely(kuap == KUAP_NONE)) in __kuap_save_and_lock()
92 current->thread.kuap = KUAP_NONE; in __kuap_save_and_lock()
93 kuap_lock_addr(kuap, false); in __kuap_save_and_lock()
100 static inline void __kuap_kernel_restore(struct pt_regs *regs, unsigned long kuap) in __kuap_kernel_restore() argument
102 if (unlikely(kuap != KUAP_NONE)) { in __kuap_kernel_restore()
103 current->thread.kuap = KUAP_NONE; in __kuap_kernel_restore()
104 kuap_lock_addr(kuap, false); in __kuap_kernel_restore()
107 if (likely(regs->kuap == KUAP_NONE)) in __kuap_kernel_restore()
[all …]
/Linux-v6.1/arch/powerpc/include/asm/nohash/32/
Dkup-8xx.h29 regs->kuap = mfspr(SPRN_MD_AP); in __kuap_save_and_lock()
37 static inline void __kuap_kernel_restore(struct pt_regs *regs, unsigned long kuap) in __kuap_kernel_restore() argument
39 mtspr(SPRN_MD_AP, regs->kuap); in __kuap_kernel_restore()
44 unsigned long kuap; in __kuap_get_and_assert_locked() local
46 kuap = mfspr(SPRN_MD_AP); in __kuap_get_and_assert_locked()
49 WARN_ON_ONCE(kuap >> 16 != MD_APG_KUAP >> 16); in __kuap_get_and_assert_locked()
51 return kuap; in __kuap_get_and_assert_locked()
84 return !((regs->kuap ^ MD_APG_KUAP) & 0xff000000); in __bad_kuap_fault()
/Linux-v6.1/arch/powerpc/include/asm/nohash/
Dkup-booke.h36 regs->kuap = mfspr(SPRN_PID);
51 static inline void __kuap_kernel_restore(struct pt_regs *regs, unsigned long kuap)
53 if (regs->kuap)
61 unsigned long kuap = mfspr(SPRN_PID);
64 WARN_ON_ONCE(kuap);
66 return kuap;
103 return !regs->kuap;
/Linux-v6.1/arch/powerpc/kernel/
Dinterrupt.c371 unsigned long kuap; in interrupt_exit_kernel_prepare() local
391 kuap = kuap_get_and_assert_locked(); in interrupt_exit_kernel_prepare()
459 kuap_kernel_restore(regs, kuap); in interrupt_exit_kernel_prepare()
Dprocess.c1797 p->thread.kuap = KUAP_NONE; in copy_thread()
/Linux-v6.1/arch/powerpc/mm/book3s32/
DMakefile12 obj-$(CONFIG_PPC_KUAP) += kuap.o
/Linux-v6.1/arch/powerpc/include/asm/
Dprocessor.h150 unsigned long kuap; /* opened segments for user access */ member
294 .kuap = ~0UL, /* KUAP_NONE */ \
Dptrace.h67 unsigned long kuap; member