diff options
Diffstat (limited to 'arch/score/kernel/signal.c')
| -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 c268bbf8b41..02353bde92d 100644 --- a/arch/score/kernel/signal.c +++ b/arch/score/kernel/signal.c @@ -148,7 +148,6 @@ score_rt_sigreturn(struct pt_regs *regs)  {  	struct rt_sigframe __user *frame;  	sigset_t set; -	stack_t st;  	int sig;  	/* Always make any pending restarted system calls return -EINTR */ @@ -168,12 +167,10 @@ score_rt_sigreturn(struct pt_regs *regs)  	else if (sig)  		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  	   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;  	__asm__ __volatile__(  |