score: fix bogus restarts on sigreturn()
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 1 May 2012 03:37:41 +0000 (23:37 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 1 Oct 2012 13:58:10 +0000 (09:58 -0400)
we *really* don't want to have restart logics hit when we are returning from
sigreturn() - random replacement of %r4 with -4 just because a signal had
been noticed from timer interrupt that came when %r4 happened to contain
-514 is not nice at all.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/score/kernel/signal.c

index e382c52ca0d90b455d9bee68f7587f4278d36bc8..c268bbf8b41047b2717a5a41a7ed86178a7df24e 100644 (file)
@@ -174,6 +174,7 @@ score_rt_sigreturn(struct pt_regs *regs)
        /* 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]);
+       regs->is_syscall = 0;
 
        __asm__ __volatile__(
                "mv\tr0, %0\n\t"