diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-04-30 23:37:41 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-01 09:58:10 -0400 |
commit | af445f45ed64fb0276c0f29bf30d7586e0b8d5f2 (patch) | |
tree | 4bc9d1406e46e2a0fe6da8643fd5aea04cb3a2c2 /arch | |
parent | 6fdb6fbecbf1ca939699f09376e35169615a3678 (diff) | |
download | op-kernel-dev-af445f45ed64fb0276c0f29bf30d7586e0b8d5f2.zip op-kernel-dev-af445f45ed64fb0276c0f29bf30d7586e0b8d5f2.tar.gz |
score: fix bogus restarts on sigreturn()
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/score/kernel/signal.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/score/kernel/signal.c b/arch/score/kernel/signal.c index e382c52..c268bbf 100644 --- a/arch/score/kernel/signal.c +++ b/arch/score/kernel/signal.c @@ -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" |