summaryrefslogtreecommitdiffstats
path: root/arch/avr32/kernel
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-05-22 05:42:15 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2012-06-01 18:58:49 +0200
commita610d6e672d6d3723e8da257ad4a8a288a8f2f89 (patch)
tree2fac6ce7f72756771f4f87583205cc402589dcad /arch/avr32/kernel
parentsh64: failure to build sigframe != signal without handler (diff)
downloadlinux-a610d6e672d6d3723e8da257ad4a8a288a8f2f89.tar.xz
linux-a610d6e672d6d3723e8da257ad4a8a288a8f2f89.zip
pull clearing RESTORE_SIGMASK into block_sigmask()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/avr32/kernel')
-rw-r--r--arch/avr32/kernel/signal.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/arch/avr32/kernel/signal.c b/arch/avr32/kernel/signal.c
index 0e2c0527c9fe..dc7875a0ad79 100644
--- a/arch/avr32/kernel/signal.c
+++ b/arch/avr32/kernel/signal.c
@@ -238,16 +238,13 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, siginfo_t *info,
*/
ret |= !valid_user_regs(regs);
- if (ret != 0) {
- force_sigsegv(sig, current);
- return;
- }
-
/*
* Block the signal if we were successful.
*/
- block_sigmask(ka, sig);
- clear_thread_flag(TIF_RESTORE_SIGMASK);
+ if (ret != 0)
+ force_sigsegv(sig, current);
+ else
+ block_sigmask(ka, sig);
}
/*