aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/signal32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc64/kernel/signal32.c')
-rw-r--r--arch/sparc64/kernel/signal32.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/sparc64/kernel/signal32.c b/arch/sparc64/kernel/signal32.c
index f28428f4170e..b1ed23091fbb 100644
--- a/arch/sparc64/kernel/signal32.c
+++ b/arch/sparc64/kernel/signal32.c
@@ -1325,13 +1325,12 @@ static inline void handle_signal32(unsigned long signr, struct k_sigaction *ka,
1325 else 1325 else
1326 setup_frame32(&ka->sa, regs, signr, oldset, info); 1326 setup_frame32(&ka->sa, regs, signr, oldset, info);
1327 } 1327 }
1328 if (!(ka->sa.sa_flags & SA_NOMASK)) { 1328 spin_lock_irq(&current->sighand->siglock);
1329 spin_lock_irq(&current->sighand->siglock); 1329 sigorsets(&current->blocked,&current->blocked,&ka->sa.sa_mask);
1330 sigorsets(&current->blocked,&current->blocked,&ka->sa.sa_mask); 1330 if (!(ka->sa.sa_flags & SA_NOMASK))
1331 sigaddset(&current->blocked,signr); 1331 sigaddset(&current->blocked,signr);
1332 recalc_sigpending(); 1332 recalc_sigpending();
1333 spin_unlock_irq(&current->sighand->siglock); 1333 spin_unlock_irq(&current->sighand->siglock);
1334 }
1335} 1334}
1336 1335
1337static inline void syscall_restart32(unsigned long orig_i0, struct pt_regs *regs, 1336static inline void syscall_restart32(unsigned long orig_i0, struct pt_regs *regs,