Browse Source

avr32: ->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
446cdd1327
1 changed files with 3 additions and 0 deletions
  1. 3 0
      arch/avr32/kernel/signal.c

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

@@ -77,6 +77,9 @@ asmlinkage int sys_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;
+
 	frame = (struct rt_sigframe __user *)regs->sp;
 	pr_debug("SIG return: frame = %p\n", frame);