Lines Matching refs:frame
30 static int preserve_crunch_context(struct crunch_sigframe __user *frame) in preserve_crunch_context() argument
32 char kbuf[sizeof(*frame) + 8]; in preserve_crunch_context()
40 return __copy_to_user(frame, kframe, sizeof(*frame)); in preserve_crunch_context()
43 static int restore_crunch_context(struct crunch_sigframe __user *frame) in restore_crunch_context() argument
45 char kbuf[sizeof(*frame) + 8]; in restore_crunch_context()
50 if (__copy_from_user(kframe, frame, sizeof(*frame))) in restore_crunch_context()
62 static int preserve_iwmmxt_context(struct iwmmxt_sigframe *frame) in preserve_iwmmxt_context() argument
64 char kbuf[sizeof(*frame) + 8]; in preserve_iwmmxt_context()
72 return __copy_to_user(frame, kframe, sizeof(*frame)); in preserve_iwmmxt_context()
75 static int restore_iwmmxt_context(struct iwmmxt_sigframe *frame) in restore_iwmmxt_context() argument
77 char kbuf[sizeof(*frame) + 8]; in restore_iwmmxt_context()
82 if (__copy_from_user(kframe, frame, sizeof(*frame))) in restore_iwmmxt_context()
95 static int preserve_vfp_context(struct vfp_sigframe __user *frame) in preserve_vfp_context() argument
101 __put_user_error(magic, &frame->magic, err); in preserve_vfp_context()
102 __put_user_error(size, &frame->size, err); in preserve_vfp_context()
107 return vfp_preserve_user_clear_hwstate(&frame->ufp, &frame->ufp_exc); in preserve_vfp_context()
110 static int restore_vfp_context(struct vfp_sigframe __user *frame) in restore_vfp_context() argument
116 __get_user_error(magic, &frame->magic, err); in restore_vfp_context()
117 __get_user_error(size, &frame->size, err); in restore_vfp_context()
124 return vfp_restore_user_hwstate(&frame->ufp, &frame->ufp_exc); in restore_vfp_context()
191 struct sigframe __user *frame; in sys_sigreturn() local
204 frame = (struct sigframe __user *)regs->ARM_sp; in sys_sigreturn()
206 if (!access_ok(VERIFY_READ, frame, sizeof (*frame))) in sys_sigreturn()
209 if (restore_sigframe(regs, frame)) in sys_sigreturn()
221 struct rt_sigframe __user *frame; in sys_rt_sigreturn() local
234 frame = (struct rt_sigframe __user *)regs->ARM_sp; in sys_rt_sigreturn()
236 if (!access_ok(VERIFY_READ, frame, sizeof (*frame))) in sys_rt_sigreturn()
239 if (restore_sigframe(regs, &frame->sig)) in sys_rt_sigreturn()
242 if (restore_altstack(&frame->sig.uc.uc_stack)) in sys_rt_sigreturn()
305 void __user *frame; in get_sigframe() local
310 frame = (void __user *)((sp - framesize) & ~7); in get_sigframe()
315 if (!access_ok(VERIFY_WRITE, frame, framesize)) in get_sigframe()
316 frame = NULL; in get_sigframe()
318 return frame; in get_sigframe()
323 unsigned long __user *rc, void __user *frame) in setup_return() argument
408 regs->ARM_sp = (unsigned long)frame; in setup_return()
419 struct sigframe __user *frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_frame() local
422 if (!frame) in setup_frame()
428 __put_user_error(0x5ac3c35a, &frame->uc.uc_flags, err); in setup_frame()
430 err |= setup_sigframe(frame, regs, set); in setup_frame()
432 err = setup_return(regs, ksig, frame->retcode, frame); in setup_frame()
440 struct rt_sigframe __user *frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame() local
443 if (!frame) in setup_rt_frame()
446 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
448 __put_user_error(0, &frame->sig.uc.uc_flags, err); in setup_rt_frame()
449 __put_user_error(NULL, &frame->sig.uc.uc_link, err); in setup_rt_frame()
451 err |= __save_altstack(&frame->sig.uc.uc_stack, regs->ARM_sp); in setup_rt_frame()
452 err |= setup_sigframe(&frame->sig, regs, set); in setup_rt_frame()
454 err = setup_return(regs, ksig, frame->sig.retcode, frame); in setup_rt_frame()
462 regs->ARM_r1 = (unsigned long)&frame->info; in setup_rt_frame()
463 regs->ARM_r2 = (unsigned long)&frame->sig.uc; in setup_rt_frame()