diff options
Diffstat (limited to 'arch/sparc/kernel/signal32.c')
-rw-r--r-- | arch/sparc/kernel/signal32.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/sparc/kernel/signal32.c b/arch/sparc/kernel/signal32.c index 023b8860dc97..c8f5b50db89c 100644 --- a/arch/sparc/kernel/signal32.c +++ b/arch/sparc/kernel/signal32.c | |||
@@ -776,7 +776,6 @@ static inline int handle_signal32(unsigned long signr, struct k_sigaction *ka, | |||
776 | siginfo_t *info, | 776 | siginfo_t *info, |
777 | sigset_t *oldset, struct pt_regs *regs) | 777 | sigset_t *oldset, struct pt_regs *regs) |
778 | { | 778 | { |
779 | sigset_t blocked; | ||
780 | int err; | 779 | int err; |
781 | 780 | ||
782 | if (ka->sa.sa_flags & SA_SIGINFO) | 781 | if (ka->sa.sa_flags & SA_SIGINFO) |
@@ -787,11 +786,7 @@ static inline int handle_signal32(unsigned long signr, struct k_sigaction *ka, | |||
787 | if (err) | 786 | if (err) |
788 | return err; | 787 | return err; |
789 | 788 | ||
790 | sigorsets(&blocked, ¤t->blocked, &ka->sa.sa_mask); | 789 | block_sigmask(ka, signr); |
791 | if (!(ka->sa.sa_flags & SA_NOMASK)) | ||
792 | sigaddset(&blocked, signr); | ||
793 | set_current_blocked(&blocked); | ||
794 | |||
795 | tracehook_signal_handler(signr, info, ka, regs, 0); | 790 | tracehook_signal_handler(signr, info, ka, regs, 0); |
796 | 791 | ||
797 | return 0; | 792 | return 0; |