MIPS: Don't block signals if we'd failed to setup a sigframe
authorAl Viro <viro@ftp.linux.org.uk>
Tue, 28 Sep 2010 17:50:17 +0000 (18:50 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 18 Oct 2010 15:59:02 +0000 (16:59 +0100)
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>
arch/mips/kernel/signal.c

index 2099d5a4c4b78224f85ee5f9b175907be3d8f15c..b3273aeaeedc907afe27c04f597cd2c119fe9606 100644 (file)
@@ -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(&current->sighand->siglock);
        sigorsets(&current->blocked, &current->blocked, &ka->sa.sa_mask);
        if (!(ka->sa.sa_flags & SA_NODEFER))