diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2010-09-28 18:50:17 +0100 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-10-18 16:59:02 +0100 |
commit | 062ab57b2f8439ab506645cf6f29432e7c61497c (patch) | |
tree | 0e7fb21965b416c80525ca622d06fdc7386d0e0f /arch/mips/kernel/signal.c | |
parent | c6ea21e35bf3691cad59647c771e6606067f627d (diff) | |
download | talos-op-linux-062ab57b2f8439ab506645cf6f29432e7c61497c.tar.gz talos-op-linux-062ab57b2f8439ab506645cf6f29432e7c61497c.zip |
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/mips/kernel/signal.c')
-rw-r--r-- | arch/mips/kernel/signal.c | 3 |
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, ret = abi->setup_frame(vdso + abi->signal_return_offset, ka, regs, sig, oldset); + if (ret) + return ret; + spin_lock_irq(¤t->sighand->siglock); sigorsets(¤t->blocked, ¤t->blocked, &ka->sa.sa_mask); if (!(ka->sa.sa_flags & SA_NODEFER)) |