Browse Source

hexagon: ->restart_block.fn needs to be reset on rt_sigreturn

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 13 years ago
parent
commit
ef9b122f32
1 changed files with 3 additions and 0 deletions
  1. 3 0
      arch/hexagon/kernel/signal.c

+ 3 - 0
arch/hexagon/kernel/signal.c

@@ -294,6 +294,9 @@ asmlinkage int sys_rt_sigreturn(void)
 	struct rt_sigframe __user *frame;
 	sigset_t blocked;
 
+	/* Always make any pending restarted system calls return -EINTR */
+	current_thread_info()->restart_block.fn = do_no_restart_syscall;
+
 	frame = (struct rt_sigframe __user *)pt_psp(regs);
 	if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
 		goto badframe;