Skip to content

Commit

Permalink
parisc: resetting ->restart_block.fn needs to be done on rt_sigreturn()
Browse files Browse the repository at this point in the history
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Al Viro committed May 22, 2012
1 parent 43a3599 commit 85a847f
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions arch/parisc/kernel/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 *)
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit 85a847f

Please sign in to comment.