|
@@ -65,13 +65,9 @@ static int handle_signal(struct pt_regs *regs, unsigned long signr,
|
|
|
#endif
|
|
|
err = setup_signal_stack_si(sp, signr, ka, regs, info, oldset);
|
|
|
|
|
|
- if (err) {
|
|
|
- spin_lock_irq(¤t->sighand->siglock);
|
|
|
- current->blocked = *oldset;
|
|
|
- recalc_sigpending();
|
|
|
- spin_unlock_irq(¤t->sighand->siglock);
|
|
|
+ if (err)
|
|
|
force_sigsegv(signr, current);
|
|
|
- } else {
|
|
|
+ else {
|
|
|
spin_lock_irq(¤t->sighand->siglock);
|
|
|
sigorsets(¤t->blocked, ¤t->blocked,
|
|
|
&ka->sa.sa_mask);
|