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

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
...@@ -109,6 +109,7 @@ sys_rt_sigreturn(struct pt_regs *regs, int in_syscall) ...@@ -109,6 +109,7 @@ sys_rt_sigreturn(struct pt_regs *regs, int in_syscall)
sigframe_size = PARISC_RT_SIGFRAME_SIZE32; sigframe_size = PARISC_RT_SIGFRAME_SIZE32;
#endif #endif
current_thread_info()->restart_block.fn = do_no_restart_syscall;
/* Unwind the user stack to get the rt_sigframe structure. */ /* Unwind the user stack to get the rt_sigframe structure. */
frame = (struct rt_sigframe __user *) frame = (struct rt_sigframe __user *)
...@@ -466,8 +467,6 @@ syscall_restart(struct pt_regs *regs, struct k_sigaction *ka) ...@@ -466,8 +467,6 @@ syscall_restart(struct pt_regs *regs, struct k_sigaction *ka)
/* Check the return code */ /* Check the return code */
switch (regs->gr[28]) { switch (regs->gr[28]) {
case -ERESTART_RESTARTBLOCK: case -ERESTART_RESTARTBLOCK:
current_thread_info()->restart_block.fn =
do_no_restart_syscall;
case -ERESTARTNOHAND: case -ERESTARTNOHAND:
DBG(1,"ERESTARTNOHAND: returning -EINTR\n"); DBG(1,"ERESTARTNOHAND: returning -EINTR\n");
regs->gr[28] = -EINTR; regs->gr[28] = -EINTR;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment