Lines Matching full:frame
92 static int compat_preserve_vfp_context(struct compat_vfp_sigframe __user *frame) in compat_preserve_vfp_context() argument
109 __put_user_error(magic, &frame->magic, err); in compat_preserve_vfp_context()
110 __put_user_error(size, &frame->size, err); in compat_preserve_vfp_context()
116 for (i = 0; i < ARRAY_SIZE(frame->ufp.fpregs); i += 2) { in compat_preserve_vfp_context()
121 __put_user_error(vreg.lo, &frame->ufp.fpregs[i], err); in compat_preserve_vfp_context()
122 __put_user_error(vreg.hi, &frame->ufp.fpregs[i + 1], err); in compat_preserve_vfp_context()
128 __put_user_error(fpscr, &frame->ufp.fpscr, err); in compat_preserve_vfp_context()
135 __put_user_error(fpexc, &frame->ufp_exc.fpexc, err); in compat_preserve_vfp_context()
136 __put_user_error(0, &frame->ufp_exc.fpinst, err); in compat_preserve_vfp_context()
137 __put_user_error(0, &frame->ufp_exc.fpinst2, err); in compat_preserve_vfp_context()
142 static int compat_restore_vfp_context(struct compat_vfp_sigframe __user *frame) in compat_restore_vfp_context() argument
150 __get_user_error(magic, &frame->magic, err); in compat_restore_vfp_context()
151 __get_user_error(size, &frame->size, err); in compat_restore_vfp_context()
159 for (i = 0; i < ARRAY_SIZE(frame->ufp.fpregs); i += 2) { in compat_restore_vfp_context()
162 __get_user_error(vreg.lo, &frame->ufp.fpregs[i], err); in compat_restore_vfp_context()
163 __get_user_error(vreg.hi, &frame->ufp.fpregs[i + 1], err); in compat_restore_vfp_context()
168 __get_user_error(fpscr, &frame->ufp.fpscr, err); in compat_restore_vfp_context()
231 struct compat_sigframe __user *frame; in COMPAT_SYSCALL_DEFINE0() local
244 frame = (struct compat_sigframe __user *)regs->compat_sp; in COMPAT_SYSCALL_DEFINE0()
246 if (!access_ok(frame, sizeof (*frame))) in COMPAT_SYSCALL_DEFINE0()
249 if (compat_restore_sigframe(regs, frame)) in COMPAT_SYSCALL_DEFINE0()
262 struct compat_rt_sigframe __user *frame; in COMPAT_SYSCALL_DEFINE0() local
275 frame = (struct compat_rt_sigframe __user *)regs->compat_sp; in COMPAT_SYSCALL_DEFINE0()
277 if (!access_ok(frame, sizeof (*frame))) in COMPAT_SYSCALL_DEFINE0()
280 if (compat_restore_sigframe(regs, &frame->sig)) in COMPAT_SYSCALL_DEFINE0()
283 if (compat_restore_altstack(&frame->sig.uc.uc_stack)) in COMPAT_SYSCALL_DEFINE0()
298 void __user *frame; in compat_get_sigframe() local
303 frame = compat_ptr((compat_uptr_t)((sp - framesize) & ~7)); in compat_get_sigframe()
306 * Check that we can actually write to the signal frame. in compat_get_sigframe()
308 if (!access_ok(frame, framesize)) in compat_get_sigframe()
309 frame = NULL; in compat_get_sigframe()
311 return frame; in compat_get_sigframe()
315 compat_ulong_t __user *rc, void __user *frame, in compat_setup_return() argument
351 regs->compat_sp = ptr_to_compat(frame); in compat_setup_return()
406 struct compat_rt_sigframe __user *frame; in compat_setup_rt_frame() local
409 frame = compat_get_sigframe(ksig, regs, sizeof(*frame)); in compat_setup_rt_frame()
411 if (!frame) in compat_setup_rt_frame()
414 err |= copy_siginfo_to_user32(&frame->info, &ksig->info); in compat_setup_rt_frame()
416 __put_user_error(0, &frame->sig.uc.uc_flags, err); in compat_setup_rt_frame()
417 __put_user_error(0, &frame->sig.uc.uc_link, err); in compat_setup_rt_frame()
419 err |= __compat_save_altstack(&frame->sig.uc.uc_stack, regs->compat_sp); in compat_setup_rt_frame()
421 err |= compat_setup_sigframe(&frame->sig, regs, set); in compat_setup_rt_frame()
424 compat_setup_return(regs, &ksig->ka, frame->sig.retcode, frame, usig); in compat_setup_rt_frame()
425 regs->regs[1] = (compat_ulong_t)(unsigned long)&frame->info; in compat_setup_rt_frame()
426 regs->regs[2] = (compat_ulong_t)(unsigned long)&frame->sig.uc; in compat_setup_rt_frame()
435 struct compat_sigframe __user *frame; in compat_setup_frame() local
438 frame = compat_get_sigframe(ksig, regs, sizeof(*frame)); in compat_setup_frame()
440 if (!frame) in compat_setup_frame()
443 __put_user_error(0x5ac3c35a, &frame->uc.uc_flags, err); in compat_setup_frame()
445 err |= compat_setup_sigframe(frame, regs, set); in compat_setup_frame()
447 compat_setup_return(regs, &ksig->ka, frame->retcode, frame, usig); in compat_setup_frame()