Commit afd3f96d authored by Al Viro's avatar Al Viro

score: do_sigaltstack() expects a userland pointer...

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 9dc87c7b
...@@ -148,7 +148,6 @@ score_rt_sigreturn(struct pt_regs *regs) ...@@ -148,7 +148,6 @@ score_rt_sigreturn(struct pt_regs *regs)
{ {
struct rt_sigframe __user *frame; struct rt_sigframe __user *frame;
sigset_t set; sigset_t set;
stack_t st;
int sig; int sig;
/* Always make any pending restarted system calls return -EINTR */ /* Always make any pending restarted system calls return -EINTR */
...@@ -168,12 +167,10 @@ score_rt_sigreturn(struct pt_regs *regs) ...@@ -168,12 +167,10 @@ score_rt_sigreturn(struct pt_regs *regs)
else if (sig) else if (sig)
force_sig(sig, current); force_sig(sig, current);
if (__copy_from_user(&st, &frame->rs_uc.uc_stack, sizeof(st)))
goto badframe;
/* It is more difficult to avoid calling this function than to /* It is more difficult to avoid calling this function than to
call it and ignore errors. */ call it and ignore errors. */
do_sigaltstack((stack_t __user *)&st, NULL, regs->regs[0]); if (do_sigaltstack(&frame->rs_uc.uc_stack, NULL, regs->regs[0]) == -EFAULT)
goto badframe;
regs->is_syscall = 0; regs->is_syscall = 0;
__asm__ __volatile__( __asm__ __volatile__(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment