Searched refs:kuap (Results 1 – 7 of 7) sorted by relevance
117 unsigned long kuap = current->thread.kuap; in kuap_save_and_lock() local122 regs->kuap = kuap; in kuap_save_and_lock()123 if (unlikely(kuap == KUAP_NONE)) in kuap_save_and_lock()126 current->thread.kuap = KUAP_NONE; in kuap_save_and_lock()127 kuap_lock(kuap, false); in kuap_save_and_lock()134 static inline void kuap_kernel_restore(struct pt_regs *regs, unsigned long kuap) in kuap_kernel_restore() argument139 if (unlikely(kuap != KUAP_NONE)) { in kuap_kernel_restore()140 current->thread.kuap = KUAP_NONE; in kuap_kernel_restore()141 kuap_lock(kuap, false); in kuap_kernel_restore()144 if (likely(regs->kuap == KUAP_NONE)) in kuap_kernel_restore()[all …]
28 regs->kuap = mfspr(SPRN_MD_AP); in kuap_save_and_lock()36 static inline void kuap_kernel_restore(struct pt_regs *regs, unsigned long kuap) in kuap_kernel_restore() argument41 mtspr(SPRN_MD_AP, regs->kuap); in kuap_kernel_restore()46 unsigned long kuap; in kuap_get_and_assert_locked() local51 kuap = mfspr(SPRN_MD_AP); in kuap_get_and_assert_locked()54 WARN_ON_ONCE(kuap >> 16 != MD_APG_KUAP >> 16); in kuap_get_and_assert_locked()56 return kuap; in kuap_get_and_assert_locked()110 return !((regs->kuap ^ MD_APG_KUAP) & 0xff000000); in bad_kuap_fault()
13 obj-$(CONFIG_PPC_KUAP) += kuap.o
534 unsigned long kuap; in interrupt_exit_kernel_prepare() local547 kuap = kuap_get_and_assert_locked(); in interrupt_exit_kernel_prepare()625 kuap_kernel_restore(regs, kuap); in interrupt_exit_kernel_prepare()
1768 p->thread.kuap = KUAP_NONE; in copy_thread()
151 unsigned long kuap; /* opened segments for user access */ member283 .kuap = ~0UL, /* KUAP_NONE */ \
67 unsigned long kuap; member