diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2010-09-26 20:28:52 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-09-27 21:19:53 +0200 |
commit | c05628b49b19187841d635dddd3e47caab33242b (patch) | |
tree | d624d95c154ee59589f166b84e4dc178e7723d46 /arch/mn10300/kernel/signal.c | |
parent | mn10300: prevent double syscall restarts (diff) | |
download | linux-c05628b49b19187841d635dddd3e47caab33242b.tar.xz linux-c05628b49b19187841d635dddd3e47caab33242b.zip |
mn10300: ->restart_block.fn needs to be reset on sigreturn
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/mn10300/kernel/signal.c')
-rw-r--r-- | arch/mn10300/kernel/signal.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/mn10300/kernel/signal.c b/arch/mn10300/kernel/signal.c index 4ef99256fa49..5a2c0040b166 100644 --- a/arch/mn10300/kernel/signal.c +++ b/arch/mn10300/kernel/signal.c @@ -102,6 +102,9 @@ static int restore_sigcontext(struct pt_regs *regs, { unsigned int err = 0; + /* Always make any pending restarted system calls return -EINTR */ + current_thread_info()->restart_block.fn = do_no_restart_syscall; + if (is_using_fpu(current)) fpu_kill_state(current); |