Lines Matching refs:sf
66 stash_usr_regs(struct rt_sigframe __user *sf, struct pt_regs *regs, in stash_usr_regs() argument
70 err = __copy_to_user(&(sf->uc.uc_mcontext.regs.scratch), regs, in stash_usr_regs()
71 sizeof(sf->uc.uc_mcontext.regs.scratch)); in stash_usr_regs()
72 err |= __copy_to_user(&sf->uc.uc_sigmask, set, sizeof(sigset_t)); in stash_usr_regs()
77 static int restore_usr_regs(struct pt_regs *regs, struct rt_sigframe __user *sf) in restore_usr_regs() argument
82 err = __copy_from_user(&set, &sf->uc.uc_sigmask, sizeof(set)); in restore_usr_regs()
86 err |= __copy_from_user(regs, &(sf->uc.uc_mcontext.regs.scratch), in restore_usr_regs()
87 sizeof(sf->uc.uc_mcontext.regs.scratch)); in restore_usr_regs()
102 struct rt_sigframe __user *sf; in SYSCALL_DEFINE0() local
116 sf = (struct rt_sigframe __force __user *)(regs->sp); in SYSCALL_DEFINE0()
118 if (!access_ok(VERIFY_READ, sf, sizeof(*sf))) in SYSCALL_DEFINE0()
121 if (__get_user(magic, &sf->sigret_magic)) in SYSCALL_DEFINE0()
125 if (restore_altstack(&sf->uc.uc_stack)) in SYSCALL_DEFINE0()
128 if (restore_usr_regs(regs, sf)) in SYSCALL_DEFINE0()
177 struct rt_sigframe __user *sf; in setup_rt_frame() local
181 sf = get_sigframe(ksig, regs, sizeof(struct rt_sigframe)); in setup_rt_frame()
182 if (!sf) in setup_rt_frame()
192 err |= stash_usr_regs(sf, regs, set); in setup_rt_frame()
201 err |= copy_siginfo_to_user(&sf->info, &ksig->info); in setup_rt_frame()
202 err |= __put_user(0, &sf->uc.uc_flags); in setup_rt_frame()
203 err |= __put_user(NULL, &sf->uc.uc_link); in setup_rt_frame()
204 err |= __save_altstack(&sf->uc.uc_stack, regs->sp); in setup_rt_frame()
207 regs->r1 = (unsigned long)&sf->info; in setup_rt_frame()
208 regs->r2 = (unsigned long)&sf->uc; in setup_rt_frame()
217 err |= __put_user(magic, &sf->sigret_magic); in setup_rt_frame()
237 regs->sp = (unsigned long)sf; in setup_rt_frame()