MIPS: Don't block signals if we'd failed to setup a sigframe
authorAl Viro <[email protected]>
Tue, 28 Sep 2010 17:50:17 +0000 (18:50 +0100)
committerRalf Baechle <[email protected]>
Mon, 18 Oct 2010 15:59:02 +0000 (16:59 +0100)
Signed-off-by: Al Viro <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/1696/
Signed-off-by: Ralf Baechle <[email protected]>
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))