Message ID | fe868bea1741c4d902543842726fca1671dc7ef5.1586196948.git.christophe.leroy@c-s.fr (mailing list archive) |
---|---|
State | RFC |
Headers | show |
Series | [RFC,v3,01/15] powerpc/syscall: Refactorise from Nick | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch powerpc/merge (2c0ce4ff35994a7b12cc9879ced52c9e7c2e6667) |
snowpatch_ozlabs/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 19 lines checked |
snowpatch_ozlabs/needsstable | success | Patch has no Fixes tags |
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) {
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(+)