From 67e4ec5a78c75e9e1e5da38b4d361909af4a5443 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Tue, 20 Nov 2012 10:36:17 -0500 Subject: [PATCH] --- yaml --- r: 336142 b: refs/heads/master c: afd3f96dc34357584763c2dc453192c78a9dbce0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/score/kernel/signal.c | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index fe6bb8b873a9..c1f3e3aacfc1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9dc87c7b5b0a2db407e086f45cf08ca78208cc16 +refs/heads/master: afd3f96dc34357584763c2dc453192c78a9dbce0 diff --git a/trunk/arch/score/kernel/signal.c b/trunk/arch/score/kernel/signal.c index c268bbf8b410..02353bde92d8 100644 --- a/trunk/arch/score/kernel/signal.c +++ b/trunk/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__(