Searched refs:kuap (Results 1 – 7 of 7) sorted by relevance
82 unsigned long kuap = current->thread.kuap; in kuap_save_and_lock() local87 regs->kuap = kuap; in kuap_save_and_lock()88 if (unlikely(kuap == KUAP_NONE)) in kuap_save_and_lock()91 current->thread.kuap = KUAP_NONE; in kuap_save_and_lock()92 kuap_lock(kuap, false); in kuap_save_and_lock()99 static inline void kuap_kernel_restore(struct pt_regs *regs, unsigned long kuap) in kuap_kernel_restore() argument104 if (unlikely(kuap != KUAP_NONE)) { in kuap_kernel_restore()105 current->thread.kuap = KUAP_NONE; in kuap_kernel_restore()106 kuap_lock(kuap, false); in kuap_kernel_restore()109 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
532 unsigned long kuap; in interrupt_exit_kernel_prepare() local545 kuap = kuap_get_and_assert_locked(); in interrupt_exit_kernel_prepare()623 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