aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2010-09-28 13:50:17 -0400
committerRalf Baechle <ralf@linux-mips.org>2010-10-18 11:59:02 -0400
commit062ab57b2f8439ab506645cf6f29432e7c61497c (patch)
tree0e7fb21965b416c80525ca622d06fdc7386d0e0f /arch
parentc6ea21e35bf3691cad59647c771e6606067f627d (diff)
MIPS: Don't block signals if we'd failed to setup a sigframe
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Cc: linux-kernel@vger.kernel.org Cc: linux-arch@vger.kernel.org Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/1696/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/kernel/signal.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
index 2099d5a4c4b7..b3273aeaeedc 100644
--- a/arch/mips/kernel/signal.c
+++ b/arch/mips/kernel/signal.c
@@ -575,6 +575,9 @@ static int handle_signal(unsigned long sig, siginfo_t *info,
575 ret = abi->setup_frame(vdso + abi->signal_return_offset, 575 ret = abi->setup_frame(vdso + abi->signal_return_offset,
576 ka, regs, sig, oldset); 576 ka, regs, sig, oldset);
577 577
578 if (ret)
579 return ret;
580
578 spin_lock_irq(&current->sighand->siglock); 581 spin_lock_irq(&current->sighand->siglock);
579 sigorsets(&current->blocked, &current->blocked, &ka->sa.sa_mask); 582 sigorsets(&current->blocked, &current->blocked, &ka->sa.sa_mask);
580 if (!(ka->sa.sa_flags & SA_NODEFER)) 583 if (!(ka->sa.sa_flags & SA_NODEFER))