On Sun, Aug 29 2021 at 19:46, Al Viro wrote: > On Sun, Aug 29, 2021 at 08:44:04PM +0200, Thomas Gleixner wrote: >> On Sat, Aug 28 2021 at 22:51, Al Viro wrote: >> > @@ -345,7 +346,7 @@ static inline int xsave_to_user_sigframe(struct xregs_state __user *buf) >> > */ >> > err = __clear_user(&buf->header, sizeof(buf->header)); >> > if (unlikely(err)) >> > - return -EFAULT; >> > + return -X86_TRAP_PF; >> >> This clear_user can be lifted into copy_fpstate_to_sigframe(). Something >> like the below. > > Hmm... This mixing of -X86_TRAP_... with -E... looks like it's asking for > trouble in general. Might be worth making e.g. fpu__restore_sig() (and > its callers) return bool, seeing that we only check for 0/non-zero in > there. Let me fix that.