xtensa: ->restart_block.fn needs to be reset on rt_sigreturn
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 22 Apr 2012 07:35:28 +0000 (03:35 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 22 May 2012 03:52:39 +0000 (23:52 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/xtensa/kernel/signal.c

index d78869a..44e9329 100644 (file)
@@ -248,6 +248,9 @@ asmlinkage long xtensa_rt_sigreturn(long a0, long a1, long a2, long a3,
        sigset_t set;
        int ret;
 
+       /* Always make any pending restarted system calls return -EINTR */
+       current_thread_info()->restart_block.fn = do_no_restart_syscall;
+
        if (regs->depc > 64)
                panic("rt_sigreturn in double exception!\n");