diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-04-22 09:30:18 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-05-22 05:52:38 +0200 |
commit | 2a3fdc117cdd664814d7374941698729e47fea95 (patch) | |
tree | f003669c4e568c4a07e63aa26460de9ded71d294 /arch/c6x/kernel/signal.c | |
parent | parisc: resetting ->restart_block.fn needs to be done on rt_sigreturn() (diff) | |
download | linux-2a3fdc117cdd664814d7374941698729e47fea95.tar.xz linux-2a3fdc117cdd664814d7374941698729e47fea95.zip |
c6x: ->restart_block.fn needs to be reset on rt_sigreturn
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/c6x/kernel/signal.c')
-rw-r--r-- | arch/c6x/kernel/signal.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/c6x/kernel/signal.c b/arch/c6x/kernel/signal.c index 3b5a05099989..cf37478c1169 100644 --- a/arch/c6x/kernel/signal.c +++ b/arch/c6x/kernel/signal.c @@ -69,6 +69,9 @@ asmlinkage int do_rt_sigreturn(struct pt_regs *regs) struct rt_sigframe __user *frame; sigset_t set; + /* Always make any pending restarted system calls return -EINTR */ + current_thread_info()->restart_block.fn = do_no_restart_syscall; + /* * Since we stacked the signal on a dword boundary, * 'sp' should be dword aligned here. If it's |