diff options
author | Paul Mundt <lethal@linux-sh.org> | 2008-09-24 01:37:35 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-09-24 01:37:35 -0400 |
commit | 1bec157a1f747d038026efabebdee4c929147b63 (patch) | |
tree | 500ff4ba3e45c5cfe40021ccb7cec5b56ef6e0bc /arch/sh/kernel/signal_32.c | |
parent | aa88f169d6fc4305125b6917d9d5f2e08211f011 (diff) |
sh: Force pending restarted system calls to return -EINTR.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/signal_32.c')
-rw-r--r-- | arch/sh/kernel/signal_32.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/sh/kernel/signal_32.c b/arch/sh/kernel/signal_32.c index be194d0bd7d2..69d09c0b3498 100644 --- a/arch/sh/kernel/signal_32.c +++ b/arch/sh/kernel/signal_32.c | |||
@@ -216,6 +216,9 @@ asmlinkage int sys_sigreturn(unsigned long r4, unsigned long r5, | |||
216 | sigset_t set; | 216 | sigset_t set; |
217 | int r0; | 217 | int r0; |
218 | 218 | ||
219 | /* Always make any pending restarted system calls return -EINTR */ | ||
220 | current_thread_info()->restart_block.fn = do_no_restart_syscall; | ||
221 | |||
219 | if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) | 222 | if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) |
220 | goto badframe; | 223 | goto badframe; |
221 | 224 | ||
@@ -250,6 +253,9 @@ asmlinkage int sys_rt_sigreturn(unsigned long r4, unsigned long r5, | |||
250 | sigset_t set; | 253 | sigset_t set; |
251 | int r0; | 254 | int r0; |
252 | 255 | ||
256 | /* Always make any pending restarted system calls return -EINTR */ | ||
257 | current_thread_info()->restart_block.fn = do_no_restart_syscall; | ||
258 | |||
253 | if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) | 259 | if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) |
254 | goto badframe; | 260 | goto badframe; |
255 | 261 | ||