Lines Matching refs:buf
23 static inline int check_for_xstate(struct fxregs_state __user *buf, in check_for_xstate() argument
31 if (__copy_from_user(fx_sw, &buf->sw_reserved[0], sizeof(*fx_sw))) in check_for_xstate()
57 static inline int save_fsave_header(struct task_struct *tsk, void __user *buf) in save_fsave_header() argument
62 struct _fpstate_32 __user *fp = buf; in save_fsave_header()
66 if (__copy_to_user(buf, &env, sizeof(env)) || in save_fsave_header()
71 struct fregs_state __user *fp = buf; in save_fsave_header()
80 static inline int save_xstate_epilog(void __user *buf, int ia32_frame) in save_xstate_epilog() argument
82 struct xregs_state __user *x = buf; in save_xstate_epilog()
95 (__u32 *)(buf + fpu_user_xstate_size)); in save_xstate_epilog()
121 static inline int copy_fpregs_to_sigframe(struct xregs_state __user *buf) in copy_fpregs_to_sigframe() argument
126 err = copy_xregs_to_user(buf); in copy_fpregs_to_sigframe()
128 err = copy_fxregs_to_user((struct fxregs_state __user *) buf); in copy_fpregs_to_sigframe()
130 err = copy_fregs_to_user((struct fregs_state __user *) buf); in copy_fpregs_to_sigframe()
132 if (unlikely(err) && __clear_user(buf, fpu_user_xstate_size)) in copy_fpregs_to_sigframe()
157 int copy_fpstate_to_sigframe(void __user *buf, void __user *buf_fx, int size) in copy_fpstate_to_sigframe() argument
162 int ia32_fxstate = (buf != buf_fx); in copy_fpstate_to_sigframe()
167 if (!access_ok(VERIFY_WRITE, buf, size)) in copy_fpstate_to_sigframe()
173 (struct _fpstate_32 __user *) buf) ? -1 : 1; in copy_fpstate_to_sigframe()
200 if ((ia32_fxstate || !use_fxsr()) && save_fsave_header(tsk, buf)) in copy_fpstate_to_sigframe()
248 static inline int copy_user_to_fpregs_zeroing(void __user *buf, u64 xbv, int fx_only) in copy_user_to_fpregs_zeroing() argument
251 if ((unsigned long)buf % 64 || fx_only) { in copy_user_to_fpregs_zeroing()
254 return copy_user_to_fxregs(buf); in copy_user_to_fpregs_zeroing()
259 return copy_user_to_xregs(buf, xbv); in copy_user_to_fpregs_zeroing()
262 return copy_user_to_fxregs(buf); in copy_user_to_fpregs_zeroing()
264 return copy_user_to_fregs(buf); in copy_user_to_fpregs_zeroing()
267 static int __fpu__restore_sig(void __user *buf, void __user *buf_fx, int size) in __fpu__restore_sig() argument
269 int ia32_fxstate = (buf != buf_fx); in __fpu__restore_sig()
279 if (!buf) { in __fpu__restore_sig()
284 if (!access_ok(VERIFY_READ, buf, size)) in __fpu__restore_sig()
292 NULL, buf) != 0; in __fpu__restore_sig()
339 if (err || __copy_from_user(&env, buf, sizeof(env))) { in __fpu__restore_sig()
377 int fpu__restore_sig(void __user *buf, int ia32_frame) in fpu__restore_sig() argument
379 void __user *buf_fx = buf; in fpu__restore_sig()
383 buf_fx = buf + sizeof(struct fregs_state); in fpu__restore_sig()
387 return __fpu__restore_sig(buf, buf_fx, size); in fpu__restore_sig()