Lines Matching full:frame
94 static int compat_preserve_vfp_context(struct compat_vfp_sigframe __user *frame) in compat_preserve_vfp_context() argument
111 __put_user_error(magic, &frame->magic, err); in compat_preserve_vfp_context()
112 __put_user_error(size, &frame->size, err); in compat_preserve_vfp_context()
118 for (i = 0; i < ARRAY_SIZE(frame->ufp.fpregs); i += 2) { in compat_preserve_vfp_context()
123 __put_user_error(vreg.lo, &frame->ufp.fpregs[i], err); in compat_preserve_vfp_context()
124 __put_user_error(vreg.hi, &frame->ufp.fpregs[i + 1], err); in compat_preserve_vfp_context()
130 __put_user_error(fpscr, &frame->ufp.fpscr, err); in compat_preserve_vfp_context()
137 __put_user_error(fpexc, &frame->ufp_exc.fpexc, err); in compat_preserve_vfp_context()
138 __put_user_error(0, &frame->ufp_exc.fpinst, err); in compat_preserve_vfp_context()
139 __put_user_error(0, &frame->ufp_exc.fpinst2, err); in compat_preserve_vfp_context()
144 static int compat_restore_vfp_context(struct compat_vfp_sigframe __user *frame) in compat_restore_vfp_context() argument
152 __get_user_error(magic, &frame->magic, err); in compat_restore_vfp_context()
153 __get_user_error(size, &frame->size, err); in compat_restore_vfp_context()
161 for (i = 0; i < ARRAY_SIZE(frame->ufp.fpregs); i += 2) { in compat_restore_vfp_context()
164 __get_user_error(vreg.lo, &frame->ufp.fpregs[i], err); in compat_restore_vfp_context()
165 __get_user_error(vreg.hi, &frame->ufp.fpregs[i + 1], err); in compat_restore_vfp_context()
170 __get_user_error(fpscr, &frame->ufp.fpscr, err); in compat_restore_vfp_context()
235 struct compat_sigframe __user *frame; in COMPAT_SYSCALL_DEFINE0() local
248 frame = (struct compat_sigframe __user *)regs->compat_sp; in COMPAT_SYSCALL_DEFINE0()
250 if (!access_ok(frame, sizeof (*frame))) in COMPAT_SYSCALL_DEFINE0()
253 if (compat_restore_sigframe(regs, frame)) in COMPAT_SYSCALL_DEFINE0()
266 struct compat_rt_sigframe __user *frame; in COMPAT_SYSCALL_DEFINE0() local
279 frame = (struct compat_rt_sigframe __user *)regs->compat_sp; in COMPAT_SYSCALL_DEFINE0()
281 if (!access_ok(frame, sizeof (*frame))) in COMPAT_SYSCALL_DEFINE0()
284 if (compat_restore_sigframe(regs, &frame->sig)) in COMPAT_SYSCALL_DEFINE0()
287 if (compat_restore_altstack(&frame->sig.uc.uc_stack)) in COMPAT_SYSCALL_DEFINE0()
302 void __user *frame; in compat_get_sigframe() local
307 frame = compat_ptr((compat_uptr_t)((sp - framesize) & ~7)); in compat_get_sigframe()
310 * Check that we can actually write to the signal frame. in compat_get_sigframe()
312 if (!access_ok(frame, framesize)) in compat_get_sigframe()
313 frame = NULL; in compat_get_sigframe()
315 return frame; in compat_get_sigframe()
319 compat_ulong_t __user *rc, void __user *frame, in compat_setup_return() argument
355 regs->compat_sp = ptr_to_compat(frame); in compat_setup_return()
410 struct compat_rt_sigframe __user *frame; in compat_setup_rt_frame() local
413 frame = compat_get_sigframe(ksig, regs, sizeof(*frame)); in compat_setup_rt_frame()
415 if (!frame) in compat_setup_rt_frame()
418 err |= copy_siginfo_to_user32(&frame->info, &ksig->info); in compat_setup_rt_frame()
420 __put_user_error(0, &frame->sig.uc.uc_flags, err); in compat_setup_rt_frame()
421 __put_user_error(0, &frame->sig.uc.uc_link, err); in compat_setup_rt_frame()
423 err |= __compat_save_altstack(&frame->sig.uc.uc_stack, regs->compat_sp); in compat_setup_rt_frame()
425 err |= compat_setup_sigframe(&frame->sig, regs, set); in compat_setup_rt_frame()
428 compat_setup_return(regs, &ksig->ka, frame->sig.retcode, frame, usig); in compat_setup_rt_frame()
429 regs->regs[1] = (compat_ulong_t)(unsigned long)&frame->info; in compat_setup_rt_frame()
430 regs->regs[2] = (compat_ulong_t)(unsigned long)&frame->sig.uc; in compat_setup_rt_frame()
439 struct compat_sigframe __user *frame; in compat_setup_frame() local
442 frame = compat_get_sigframe(ksig, regs, sizeof(*frame)); in compat_setup_frame()
444 if (!frame) in compat_setup_frame()
447 __put_user_error(0x5ac3c35a, &frame->uc.uc_flags, err); in compat_setup_frame()
449 err |= compat_setup_sigframe(frame, regs, set); in compat_setup_frame()
451 compat_setup_return(regs, &ksig->ka, frame->retcode, frame, usig); in compat_setup_frame()