Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85a847ff authored by Al Viro's avatar Al Viro
Browse files

parisc: resetting ->restart_block.fn needs to be done on rt_sigreturn()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 43a35995
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -109,6 +109,7 @@ sys_rt_sigreturn(struct pt_regs *regs, int in_syscall)
		sigframe_size = PARISC_RT_SIGFRAME_SIZE32;
#endif

	current_thread_info()->restart_block.fn = do_no_restart_syscall;

	/* Unwind the user stack to get the rt_sigframe structure. */
	frame = (struct rt_sigframe __user *)
@@ -466,8 +467,6 @@ syscall_restart(struct pt_regs *regs, struct k_sigaction *ka)
	/* Check the return code */
	switch (regs->gr[28]) {
	case -ERESTART_RESTARTBLOCK:
		current_thread_info()->restart_block.fn =
			do_no_restart_syscall;
	case -ERESTARTNOHAND:
		DBG(1,"ERESTARTNOHAND: returning -EINTR\n");
		regs->gr[28] = -EINTR;