aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-04-26 18:15:11 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-05-21 14:36:45 -0400
commit7dfae72027cd8345247e675a3b27439df95fe06e (patch)
tree6eee45a43ec71e1d62e89a6a37e32e4c340f8125 /arch/arm
parent84849b3ed8081e9e2eb0e441c699eda807853cb6 (diff)
arm: if there's no handler we need to restore sigmask, syscall or no syscall
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/kernel/signal.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c
index d554025dbcbc..a6c4e780ec7a 100644
--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
@@ -715,15 +715,13 @@ static void do_signal(struct pt_regs *regs, int syscall)
715#endif 715#endif
716 } 716 }
717 } 717 }
718
719 /* If there's no signal to deliver, we just put the saved sigmask
720 * back.
721 */
722 if (test_thread_flag(TIF_RESTORE_SIGMASK)) {
723 clear_thread_flag(TIF_RESTORE_SIGMASK);
724 sigprocmask(SIG_SETMASK, &current->saved_sigmask, NULL);
725 }
726 } 718 }
719
720 /* If there's no signal to deliver, we just put the saved sigmask
721 * back.
722 */
723 if (test_and_clear_thread_flag(TIF_RESTORE_SIGMASK))
724 set_current_blocked(&current->saved_sigmask);
727} 725}
728 726
729asmlinkage void 727asmlinkage void