Lines Matching refs:buf
20 static inline int check_for_xstate(struct fxregs_state __user *buf, in check_for_xstate() argument
28 if (__copy_from_user(fx_sw, &buf->sw_reserved[0], sizeof(*fx_sw))) in check_for_xstate()
54 static inline int save_fsave_header(struct task_struct *tsk, void __user *buf) in save_fsave_header() argument
59 struct _fpstate_32 __user *fp = buf; in save_fsave_header()
63 if (__copy_to_user(buf, &env, sizeof(env)) || in save_fsave_header()
68 struct fregs_state __user *fp = buf; in save_fsave_header()
77 static inline int save_xstate_epilog(void __user *buf, int ia32_frame) in save_xstate_epilog() argument
79 struct xregs_state __user *x = buf; in save_xstate_epilog()
91 err |= __put_user(FP_XSTATE_MAGIC2, (__u32 *)(buf + xstate_size)); in save_xstate_epilog()
117 static inline int copy_fpregs_to_sigframe(struct xregs_state __user *buf) in copy_fpregs_to_sigframe() argument
122 err = copy_xregs_to_user(buf); in copy_fpregs_to_sigframe()
124 err = copy_fxregs_to_user((struct fxregs_state __user *) buf); in copy_fpregs_to_sigframe()
126 err = copy_fregs_to_user((struct fregs_state __user *) buf); in copy_fpregs_to_sigframe()
128 if (unlikely(err) && __clear_user(buf, xstate_size)) in copy_fpregs_to_sigframe()
153 int copy_fpstate_to_sigframe(void __user *buf, void __user *buf_fx, int size) in copy_fpstate_to_sigframe() argument
157 int ia32_fxstate = (buf != buf_fx); in copy_fpstate_to_sigframe()
162 if (!access_ok(VERIFY_WRITE, buf, size)) in copy_fpstate_to_sigframe()
168 (struct _fpstate_32 __user *) buf) ? -1 : 1; in copy_fpstate_to_sigframe()
184 if ((ia32_fxstate || !use_fxsr()) && save_fsave_header(tsk, buf)) in copy_fpstate_to_sigframe()
229 static inline int copy_user_to_fpregs_zeroing(void __user *buf, u64 xbv, int fx_only) in copy_user_to_fpregs_zeroing() argument
232 if ((unsigned long)buf % 64 || fx_only) { in copy_user_to_fpregs_zeroing()
235 return copy_user_to_fxregs(buf); in copy_user_to_fpregs_zeroing()
240 return copy_user_to_xregs(buf, xbv); in copy_user_to_fpregs_zeroing()
243 return copy_user_to_fxregs(buf); in copy_user_to_fpregs_zeroing()
245 return copy_user_to_fregs(buf); in copy_user_to_fpregs_zeroing()
248 static int __fpu__restore_sig(void __user *buf, void __user *buf_fx, int size) in __fpu__restore_sig() argument
250 int ia32_fxstate = (buf != buf_fx); in __fpu__restore_sig()
260 if (!buf) { in __fpu__restore_sig()
265 if (!access_ok(VERIFY_READ, buf, size)) in __fpu__restore_sig()
273 NULL, buf) != 0; in __fpu__restore_sig()
312 __copy_from_user(&env, buf, sizeof(env))) { in __fpu__restore_sig()
350 int fpu__restore_sig(void __user *buf, int ia32_frame) in fpu__restore_sig() argument
352 void __user *buf_fx = buf; in fpu__restore_sig()
356 buf_fx = buf + sizeof(struct fregs_state); in fpu__restore_sig()
360 return __fpu__restore_sig(buf, buf_fx, size); in fpu__restore_sig()