diff options
-rw-r--r-- | arch/m68k/kernel/signal.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/arch/m68k/kernel/signal.c b/arch/m68k/kernel/signal.c index 8186982fb320..d8f6960e8fd9 100644 --- a/arch/m68k/kernel/signal.c +++ b/arch/m68k/kernel/signal.c | |||
@@ -795,8 +795,7 @@ asmlinkage int do_sigreturn(unsigned long __unused) | |||
795 | goto badframe; | 795 | goto badframe; |
796 | 796 | ||
797 | sigdelsetmask(&set, ~_BLOCKABLE); | 797 | sigdelsetmask(&set, ~_BLOCKABLE); |
798 | current->blocked = set; | 798 | set_current_blocked(&set); |
799 | recalc_sigpending(); | ||
800 | 799 | ||
801 | if (restore_sigcontext(regs, &frame->sc, frame + 1)) | 800 | if (restore_sigcontext(regs, &frame->sc, frame + 1)) |
802 | goto badframe; | 801 | goto badframe; |
@@ -821,8 +820,7 @@ asmlinkage int do_rt_sigreturn(unsigned long __unused) | |||
821 | goto badframe; | 820 | goto badframe; |
822 | 821 | ||
823 | sigdelsetmask(&set, ~_BLOCKABLE); | 822 | sigdelsetmask(&set, ~_BLOCKABLE); |
824 | current->blocked = set; | 823 | set_current_blocked(&set); |
825 | recalc_sigpending(); | ||
826 | 824 | ||
827 | if (rt_restore_ucontext(regs, sw, &frame->uc)) | 825 | if (rt_restore_ucontext(regs, sw, &frame->uc)) |
828 | goto badframe; | 826 | goto badframe; |
@@ -1141,10 +1139,7 @@ handle_signal(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
1141 | if (err) | 1139 | if (err) |
1142 | return; | 1140 | return; |
1143 | 1141 | ||
1144 | sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); | 1142 | block_sigmask(ka, sig); |
1145 | if (!(ka->sa.sa_flags & SA_NODEFER)) | ||
1146 | sigaddset(¤t->blocked,sig); | ||
1147 | recalc_sigpending(); | ||
1148 | 1143 | ||
1149 | if (test_thread_flag(TIF_DELAYED_TRACE)) { | 1144 | if (test_thread_flag(TIF_DELAYED_TRACE)) { |
1150 | regs->sr &= ~0x8000; | 1145 | regs->sr &= ~0x8000; |