Lines Matching full:frame
29 static int preserve_crunch_context(struct crunch_sigframe __user *frame) in preserve_crunch_context() argument
31 char kbuf[sizeof(*frame) + 8]; in preserve_crunch_context()
39 return __copy_to_user(frame, kframe, sizeof(*frame)); in preserve_crunch_context()
44 struct crunch_sigframe __user *frame = in restore_crunch_context() local
46 char kbuf[sizeof(*frame) + 8]; in restore_crunch_context()
51 if (__copy_from_user(kframe, frame, sizeof(*frame))) in restore_crunch_context()
64 static int preserve_iwmmxt_context(struct iwmmxt_sigframe __user *frame) in preserve_iwmmxt_context() argument
66 char kbuf[sizeof(*frame) + 8]; in preserve_iwmmxt_context()
90 err = __copy_to_user(frame, kframe, sizeof(*kframe)); in preserve_iwmmxt_context()
97 struct iwmmxt_sigframe __user *frame = in restore_iwmmxt_context() local
99 char kbuf[sizeof(*frame) + 8]; in restore_iwmmxt_context()
104 if (__copy_from_user(kframe, frame, sizeof(*frame))) in restore_iwmmxt_context()
135 static int preserve_vfp_context(struct vfp_sigframe __user *frame) in preserve_vfp_context() argument
148 return __copy_to_user(frame, &kframe, sizeof(kframe)); in preserve_vfp_context()
153 struct vfp_sigframe frame; in restore_vfp_context() local
156 err = __copy_from_user(&frame, *auxp, sizeof(frame)); in restore_vfp_context()
160 if (frame.magic != VFP_MAGIC || frame.size != VFP_STORAGE_SIZE) in restore_vfp_context()
163 *auxp += sizeof(frame); in restore_vfp_context()
164 return vfp_restore_user_hwstate(&frame.ufp, &frame.ufp_exc); in restore_vfp_context()
226 struct sigframe __user *frame; in sys_sigreturn() local
239 frame = (struct sigframe __user *)regs->ARM_sp; in sys_sigreturn()
241 if (!access_ok(frame, sizeof (*frame))) in sys_sigreturn()
244 if (restore_sigframe(regs, frame)) in sys_sigreturn()
256 struct rt_sigframe __user *frame; in sys_rt_sigreturn() local
269 frame = (struct rt_sigframe __user *)regs->ARM_sp; in sys_rt_sigreturn()
271 if (!access_ok(frame, sizeof (*frame))) in sys_rt_sigreturn()
274 if (restore_sigframe(regs, &frame->sig)) in sys_rt_sigreturn()
277 if (restore_altstack(&frame->sig.uc.uc_stack)) in sys_rt_sigreturn()
345 void __user *frame; in get_sigframe() local
350 frame = (void __user *)((sp - framesize) & ~7); in get_sigframe()
353 * Check that we can actually write to the signal frame. in get_sigframe()
355 if (!access_ok(frame, framesize)) in get_sigframe()
356 frame = NULL; in get_sigframe()
358 return frame; in get_sigframe()
363 unsigned long __user *rc, void __user *frame) in setup_return() argument
477 regs->ARM_sp = (unsigned long)frame; in setup_return()
490 struct sigframe __user *frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_frame() local
493 if (!frame) in setup_frame()
499 err = __put_user(0x5ac3c35a, &frame->uc.uc_flags); in setup_frame()
501 err |= setup_sigframe(frame, regs, set); in setup_frame()
503 err = setup_return(regs, ksig, frame->retcode, frame); in setup_frame()
511 struct rt_sigframe __user *frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame() local
514 if (!frame) in setup_rt_frame()
517 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
519 err |= __put_user(0, &frame->sig.uc.uc_flags); in setup_rt_frame()
520 err |= __put_user(NULL, &frame->sig.uc.uc_link); in setup_rt_frame()
522 err |= __save_altstack(&frame->sig.uc.uc_stack, regs->ARM_sp); in setup_rt_frame()
523 err |= setup_sigframe(&frame->sig, regs, set); in setup_rt_frame()
525 err = setup_return(regs, ksig, frame->sig.retcode, frame); in setup_rt_frame()
533 regs->ARM_r1 = (unsigned long)&frame->info; in setup_rt_frame()
534 regs->ARM_r2 = (unsigned long)&frame->sig.uc; in setup_rt_frame()
549 * Perform fixup for the pre-signal frame. in handle_signal()
554 * Set up the stack frame in handle_signal()