diff options
author | Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> | 2008-11-05 21:34:35 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-06 02:02:01 -0500 |
commit | 8735b7d0a2a6246faa406a8cdd1376bd0e689ba3 (patch) | |
tree | f653fb0d5b3931daa75af744228bd4c9f4c8b8f5 | |
parent | ee7d523c124a186ce3a886868de9cd1d8bc991f3 (diff) |
x86: signal_64: make setup_sigcontext() similar
Impact: cleanup
remove passing task struct.
Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/kernel/signal_64.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/x86/kernel/signal_64.c b/arch/x86/kernel/signal_64.c index 97d26fa62ac1..3868c2a21793 100644 --- a/arch/x86/kernel/signal_64.c +++ b/arch/x86/kernel/signal_64.c | |||
@@ -160,8 +160,7 @@ asmlinkage long sys_rt_sigreturn(struct pt_regs *regs) | |||
160 | 160 | ||
161 | static inline int | 161 | static inline int |
162 | setup_sigcontext(struct sigcontext __user *sc, void __user *fpstate, | 162 | setup_sigcontext(struct sigcontext __user *sc, void __user *fpstate, |
163 | struct pt_regs *regs, | 163 | struct pt_regs *regs, unsigned long mask) |
164 | unsigned long mask, struct task_struct *me) | ||
165 | { | 164 | { |
166 | int err = 0; | 165 | int err = 0; |
167 | 166 | ||
@@ -185,13 +184,13 @@ setup_sigcontext(struct sigcontext __user *sc, void __user *fpstate, | |||
185 | err |= __put_user(regs->r13, &sc->r13); | 184 | err |= __put_user(regs->r13, &sc->r13); |
186 | err |= __put_user(regs->r14, &sc->r14); | 185 | err |= __put_user(regs->r14, &sc->r14); |
187 | err |= __put_user(regs->r15, &sc->r15); | 186 | err |= __put_user(regs->r15, &sc->r15); |
188 | err |= __put_user(me->thread.trap_no, &sc->trapno); | 187 | err |= __put_user(current->thread.trap_no, &sc->trapno); |
189 | err |= __put_user(me->thread.error_code, &sc->err); | 188 | err |= __put_user(current->thread.error_code, &sc->err); |
190 | err |= __put_user(regs->ip, &sc->ip); | 189 | err |= __put_user(regs->ip, &sc->ip); |
191 | err |= __put_user(regs->flags, &sc->flags); | 190 | err |= __put_user(regs->flags, &sc->flags); |
192 | err |= __put_user(fpstate, &sc->fpstate); | 191 | err |= __put_user(fpstate, &sc->fpstate); |
193 | err |= __put_user(mask, &sc->oldmask); | 192 | err |= __put_user(mask, &sc->oldmask); |
194 | err |= __put_user(me->thread.cr2, &sc->cr2); | 193 | err |= __put_user(current->thread.cr2, &sc->cr2); |
195 | 194 | ||
196 | return err; | 195 | return err; |
197 | } | 196 | } |
@@ -251,8 +250,7 @@ static int __setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
251 | err |= __put_user(sas_ss_flags(regs->sp), | 250 | err |= __put_user(sas_ss_flags(regs->sp), |
252 | &frame->uc.uc_stack.ss_flags); | 251 | &frame->uc.uc_stack.ss_flags); |
253 | err |= __put_user(me->sas_ss_size, &frame->uc.uc_stack.ss_size); | 252 | err |= __put_user(me->sas_ss_size, &frame->uc.uc_stack.ss_size); |
254 | err |= setup_sigcontext(&frame->uc.uc_mcontext, fp, | 253 | err |= setup_sigcontext(&frame->uc.uc_mcontext, fp, regs, set->sig[0]); |
255 | regs, set->sig[0], me); | ||
256 | err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); | 254 | err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); |
257 | 255 | ||
258 | /* Set up to return from userspace. If provided, use a stub | 256 | /* Set up to return from userspace. If provided, use a stub |