diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-04-22 03:30:18 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-05-21 23:52:38 -0400 |
commit | 2a3fdc117cdd664814d7374941698729e47fea95 (patch) | |
tree | f003669c4e568c4a07e63aa26460de9ded71d294 /arch/c6x/kernel | |
parent | 85a847ffad1d4ee94590db25bad444d18a8db263 (diff) |
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')
-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 3b5a0509998..cf37478c116 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 |