From: Al Viro Date: Sun, 22 Apr 2012 07:30:18 +0000 (-0400) Subject: c6x: ->restart_block.fn needs to be reset on rt_sigreturn X-Git-Tag: v3.5-rc1~105^2~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a3fdc117cdd664814d7374941698729e47fea95;p=thirdparty%2Fkernel%2Flinux.git c6x: ->restart_block.fn needs to be reset on rt_sigreturn Signed-off-by: Al Viro --- diff --git a/arch/c6x/kernel/signal.c b/arch/c6x/kernel/signal.c index 3b5a050999899..cf37478c1169c 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