| Date | Tue, 15 Nov 2022 15:18:25 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v3 27/37] x86/shstk: Introduce routines modifying shstk |
| |
On Fri, Nov 04, 2022 at 03:35:54PM -0700, Rick Edgecombe wrote:
> +#ifdef CONFIG_X86_USER_SHADOW_STACK > +static inline int write_user_shstk_64(u64 __user *addr, u64 val) > +{ > + asm_volatile_goto("1: wrussq %[val], (%[addr])\n" > + _ASM_EXTABLE(1b, %l[fail]) > + :: [addr] "r" (addr), [val] "r" (val) > + :: fail); > + return 0; > +fail: > + return -EFAULT; > +} > +#endif /* CONFIG_X86_USER_SHADOW_STACK */
Why isn't this modelled after put_user() ?
Should you write a 64bit value even if the task receiving a signal is 32bit ?
|