diff options
Diffstat (limited to 'arch/x86/kernel/signal.c')
-rw-r--r-- | arch/x86/kernel/signal.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c index 25a4a81a51aa..56f3062c5111 100644 --- a/arch/x86/kernel/signal.c +++ b/arch/x86/kernel/signal.c | |||
@@ -647,12 +647,9 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
647 | struct pt_regs *regs) | 647 | struct pt_regs *regs) |
648 | { | 648 | { |
649 | int usig = signr_convert(sig); | 649 | int usig = signr_convert(sig); |
650 | sigset_t *set = ¤t->blocked; | 650 | sigset_t *set = sigmask_to_save(); |
651 | int ret; | 651 | int ret; |
652 | 652 | ||
653 | if (current_thread_info()->status & TS_RESTORE_SIGMASK) | ||
654 | set = ¤t->saved_sigmask; | ||
655 | |||
656 | /* Set up the stack frame */ | 653 | /* Set up the stack frame */ |
657 | if (is_ia32) { | 654 | if (is_ia32) { |
658 | if (ka->sa.sa_flags & SA_SIGINFO) | 655 | if (ka->sa.sa_flags & SA_SIGINFO) |