Lines Matching refs:frame
144 #define unsafe_put_sigmask(set, frame, label) \ argument
146 (__u64 __user *)&(frame)->uc.uc_sigmask, \
167 struct rt_sigframe __user *frame; in x64_setup_rt_frame() local
175 frame = get_sigframe(ksig, regs, sizeof(struct rt_sigframe), &fp); in x64_setup_rt_frame()
178 if (!user_access_begin(frame, sizeof(*frame))) in x64_setup_rt_frame()
182 unsafe_put_user(uc_flags, &frame->uc.uc_flags, Efault); in x64_setup_rt_frame()
183 unsafe_put_user(0, &frame->uc.uc_link, Efault); in x64_setup_rt_frame()
184 unsafe_save_altstack(&frame->uc.uc_stack, regs->sp, Efault); in x64_setup_rt_frame()
188 unsafe_put_user(ksig->ka.sa.sa_restorer, &frame->pretcode, Efault); in x64_setup_rt_frame()
189 unsafe_put_sigcontext(&frame->uc.uc_mcontext, fp, regs, set, Efault); in x64_setup_rt_frame()
190 unsafe_put_sigmask(set, frame, Efault); in x64_setup_rt_frame()
194 if (copy_siginfo_to_user(&frame->info, &ksig->info)) in x64_setup_rt_frame()
208 regs->si = (unsigned long)&frame->info; in x64_setup_rt_frame()
209 regs->dx = (unsigned long)&frame->uc; in x64_setup_rt_frame()
212 regs->sp = (unsigned long)frame; in x64_setup_rt_frame()
249 struct rt_sigframe __user *frame; in SYSCALL_DEFINE0() local
253 frame = (struct rt_sigframe __user *)(regs->sp - sizeof(long)); in SYSCALL_DEFINE0()
254 if (!access_ok(frame, sizeof(*frame))) in SYSCALL_DEFINE0()
256 if (__get_user(*(__u64 *)&set, (__u64 __user *)&frame->uc.uc_sigmask)) in SYSCALL_DEFINE0()
258 if (__get_user(uc_flags, &frame->uc.uc_flags)) in SYSCALL_DEFINE0()
263 if (restore_altstack(&frame->uc.uc_stack)) in SYSCALL_DEFINE0()
266 if (!restore_sigcontext(regs, &frame->uc.uc_mcontext, uc_flags)) in SYSCALL_DEFINE0()
275 signal_fault(regs, frame, "rt_sigreturn"); in SYSCALL_DEFINE0()
306 struct rt_sigframe_x32 __user *frame; in x32_setup_rt_frame() local
314 frame = get_sigframe(ksig, regs, sizeof(*frame), &fp); in x32_setup_rt_frame()
321 if (!user_access_begin(frame, sizeof(*frame))) in x32_setup_rt_frame()
325 unsafe_put_user(uc_flags, &frame->uc.uc_flags, Efault); in x32_setup_rt_frame()
326 unsafe_put_user(0, &frame->uc.uc_link, Efault); in x32_setup_rt_frame()
327 unsafe_compat_save_altstack(&frame->uc.uc_stack, regs->sp, Efault); in x32_setup_rt_frame()
328 unsafe_put_user(0, &frame->uc.uc__pad0, Efault); in x32_setup_rt_frame()
330 unsafe_put_user(restorer, (unsigned long __user *)&frame->pretcode, Efault); in x32_setup_rt_frame()
331 unsafe_put_sigcontext(&frame->uc.uc_mcontext, fp, regs, set, Efault); in x32_setup_rt_frame()
332 unsafe_put_sigmask(set, frame, Efault); in x32_setup_rt_frame()
336 if (x32_copy_siginfo_to_user(&frame->info, &ksig->info)) in x32_setup_rt_frame()
341 regs->sp = (unsigned long) frame; in x32_setup_rt_frame()
346 regs->si = (unsigned long) &frame->info; in x32_setup_rt_frame()
347 regs->dx = (unsigned long) &frame->uc; in x32_setup_rt_frame()
365 struct rt_sigframe_x32 __user *frame; in COMPAT_SYSCALL_DEFINE0() local
369 frame = (struct rt_sigframe_x32 __user *)(regs->sp - 8); in COMPAT_SYSCALL_DEFINE0()
371 if (!access_ok(frame, sizeof(*frame))) in COMPAT_SYSCALL_DEFINE0()
373 if (__get_user(set.sig[0], (__u64 __user *)&frame->uc.uc_sigmask)) in COMPAT_SYSCALL_DEFINE0()
375 if (__get_user(uc_flags, &frame->uc.uc_flags)) in COMPAT_SYSCALL_DEFINE0()
380 if (!restore_sigcontext(regs, &frame->uc.uc_mcontext, uc_flags)) in COMPAT_SYSCALL_DEFINE0()
386 if (compat_restore_altstack(&frame->uc.uc_stack)) in COMPAT_SYSCALL_DEFINE0()
392 signal_fault(regs, frame, "x32 rt_sigreturn"); in COMPAT_SYSCALL_DEFINE0()