Messages in this thread Patch in this message | | | From | Christophe Leroy <> | Subject | [RFC PATCH v2 03/13] powerpc/8xx: Create C version of kuap_restore() and kuap_check() | Date | Sun, 5 Apr 2020 17:44:38 +0000 (UTC) |
| |
In preparation of porting PPC32 to C syscall entry/exit, create C version of kuap_restore() and kuap_check() on 8xx
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> --- arch/powerpc/include/asm/nohash/32/kup-8xx.h | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/arch/powerpc/include/asm/nohash/32/kup-8xx.h b/arch/powerpc/include/asm/nohash/32/kup-8xx.h index 85ed2390fb99..1918d2e55da3 100644 --- a/arch/powerpc/include/asm/nohash/32/kup-8xx.h +++ b/arch/powerpc/include/asm/nohash/32/kup-8xx.h @@ -34,6 +34,19 @@ #include <asm/reg.h> +static inline void kuap_restore(struct pt_regs *regs) +{ + mtspr(SPRN_MD_AP, regs->kuap); +} + +static inline void kuap_check(void) +{ + if (!IS_ENABLED(CONFIG_PPC_KUAP_DEBUG)) + return; + + WARN_ON_ONCE((mfspr(SPRN_MD_AP) & 0xffff0000) != (MD_APG_KUAP & 0xffff0000)); +} + static inline void allow_user_access(void __user *to, const void __user *from, unsigned long size, unsigned long dir) { -- 2.25.0
| |