Searched refs:kuap (Results 1 – 8 of 8) sorted by relevance
86 unsigned long kuap = current->thread.kuap; in __kuap_save_and_lock() local88 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() argument102 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 …]
29 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() argument39 mtspr(SPRN_MD_AP, regs->kuap); in __kuap_kernel_restore()44 unsigned long kuap; in __kuap_get_and_assert_locked() local46 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()
36 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;
371 unsigned long kuap; in interrupt_exit_kernel_prepare() local391 kuap = kuap_get_and_assert_locked(); in interrupt_exit_kernel_prepare()459 kuap_kernel_restore(regs, kuap); in interrupt_exit_kernel_prepare()
1797 p->thread.kuap = KUAP_NONE; in copy_thread()
12 obj-$(CONFIG_PPC_KUAP) += kuap.o
150 unsigned long kuap; /* opened segments for user access */ member294 .kuap = ~0UL, /* KUAP_NONE */ \
67 unsigned long kuap; member