Lines Matching refs:frame
102 struct rt_sigframe __user *frame; in SYSCALL_DEFINE0() local
109 frame = (struct rt_sigframe __user *)regs->sp; in SYSCALL_DEFINE0()
111 if (!access_ok(frame, sizeof(*frame))) in SYSCALL_DEFINE0()
114 if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) in SYSCALL_DEFINE0()
119 if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) in SYSCALL_DEFINE0()
122 if (restore_altstack(&frame->uc.uc_stack)) in SYSCALL_DEFINE0()
135 frame, (void *)regs->epc, (void *)regs->sp); in SYSCALL_DEFINE0()
141 static long setup_sigcontext(struct rt_sigframe __user *frame, in setup_sigcontext() argument
144 struct sigcontext __user *sc = &frame->uc.uc_mcontext; in setup_sigcontext()
180 struct rt_sigframe __user *frame; in setup_rt_frame() local
184 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
185 if (!access_ok(frame, sizeof(*frame))) in setup_rt_frame()
188 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
191 err |= __put_user(0, &frame->uc.uc_flags); in setup_rt_frame()
192 err |= __put_user(NULL, &frame->uc.uc_link); in setup_rt_frame()
193 err |= __save_altstack(&frame->uc.uc_stack, regs->sp); in setup_rt_frame()
194 err |= setup_sigcontext(frame, regs); in setup_rt_frame()
195 err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); in setup_rt_frame()
208 if (copy_to_user(&frame->sigreturn_code, __user_rt_sigreturn, in setup_rt_frame()
209 sizeof(frame->sigreturn_code))) in setup_rt_frame()
212 addr = (unsigned long)&frame->sigreturn_code; in setup_rt_frame()
214 flush_icache_range(addr, addr + sizeof(frame->sigreturn_code)); in setup_rt_frame()
227 regs->sp = (unsigned long)frame; in setup_rt_frame()
229 regs->a1 = (unsigned long)(&frame->info); /* a1: siginfo pointer */ in setup_rt_frame()
230 regs->a2 = (unsigned long)(&frame->uc); /* a2: ucontext pointer */ in setup_rt_frame()
235 (void *)regs->epc, (void *)regs->ra, frame); in setup_rt_frame()