diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2012-11-20 10:36:17 -0500 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-11-28 21:46:12 -0500 |
| commit | afd3f96dc34357584763c2dc453192c78a9dbce0 (patch) | |
| tree | a63b5f4c70e9cf947ce7410a2265955849e8b579 /arch/score | |
| parent | 9dc87c7b5b0a2db407e086f45cf08ca78208cc16 (diff) | |
score: do_sigaltstack() expects a userland pointer...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/score')
| -rw-r--r-- | arch/score/kernel/signal.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/score/kernel/signal.c b/arch/score/kernel/signal.c index c268bbf8b410..02353bde92d8 100644 --- a/arch/score/kernel/signal.c +++ b/arch/score/kernel/signal.c | |||
| @@ -148,7 +148,6 @@ score_rt_sigreturn(struct pt_regs *regs) | |||
| 148 | { | 148 | { |
| 149 | struct rt_sigframe __user *frame; | 149 | struct rt_sigframe __user *frame; |
| 150 | sigset_t set; | 150 | sigset_t set; |
| 151 | stack_t st; | ||
| 152 | int sig; | 151 | int sig; |
| 153 | 152 | ||
| 154 | /* Always make any pending restarted system calls return -EINTR */ | 153 | /* Always make any pending restarted system calls return -EINTR */ |
| @@ -168,12 +167,10 @@ score_rt_sigreturn(struct pt_regs *regs) | |||
| 168 | else if (sig) | 167 | else if (sig) |
| 169 | force_sig(sig, current); | 168 | force_sig(sig, current); |
| 170 | 169 | ||
| 171 | if (__copy_from_user(&st, &frame->rs_uc.uc_stack, sizeof(st))) | ||
| 172 | goto badframe; | ||
| 173 | |||
| 174 | /* It is more difficult to avoid calling this function than to | 170 | /* It is more difficult to avoid calling this function than to |
| 175 | call it and ignore errors. */ | 171 | call it and ignore errors. */ |
| 176 | do_sigaltstack((stack_t __user *)&st, NULL, regs->regs[0]); | 172 | if (do_sigaltstack(&frame->rs_uc.uc_stack, NULL, regs->regs[0]) == -EFAULT) |
| 173 | goto badframe; | ||
| 177 | regs->is_syscall = 0; | 174 | regs->is_syscall = 0; |
| 178 | 175 | ||
| 179 | __asm__ __volatile__( | 176 | __asm__ __volatile__( |
