diff options
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/kernel/compat_signal.c | 6 | ||||
-rw-r--r-- | arch/s390/kernel/signal.c | 6 |
2 files changed, 2 insertions, 10 deletions
diff --git a/arch/s390/kernel/compat_signal.c b/arch/s390/kernel/compat_signal.c index 6fe78c2f95d9..53a82c8d50e9 100644 --- a/arch/s390/kernel/compat_signal.c +++ b/arch/s390/kernel/compat_signal.c | |||
@@ -581,7 +581,6 @@ give_sigsegv: | |||
581 | int handle_signal32(unsigned long sig, struct k_sigaction *ka, | 581 | int handle_signal32(unsigned long sig, struct k_sigaction *ka, |
582 | siginfo_t *info, sigset_t *oldset, struct pt_regs *regs) | 582 | siginfo_t *info, sigset_t *oldset, struct pt_regs *regs) |
583 | { | 583 | { |
584 | sigset_t blocked; | ||
585 | int ret; | 584 | int ret; |
586 | 585 | ||
587 | /* Set up the stack frame */ | 586 | /* Set up the stack frame */ |
@@ -591,10 +590,7 @@ int handle_signal32(unsigned long sig, struct k_sigaction *ka, | |||
591 | ret = setup_frame32(sig, ka, oldset, regs); | 590 | ret = setup_frame32(sig, ka, oldset, regs); |
592 | if (ret) | 591 | if (ret) |
593 | return ret; | 592 | return ret; |
594 | sigorsets(&blocked, ¤t->blocked, &ka->sa.sa_mask); | 593 | block_sigmask(ka, sig); |
595 | if (!(ka->sa.sa_flags & SA_NODEFER)) | ||
596 | sigaddset(&blocked, sig); | ||
597 | set_current_blocked(&blocked); | ||
598 | return 0; | 594 | return 0; |
599 | } | 595 | } |
600 | 596 | ||
diff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c index 2d421d90fada..f29f5ef400e5 100644 --- a/arch/s390/kernel/signal.c +++ b/arch/s390/kernel/signal.c | |||
@@ -384,7 +384,6 @@ static int handle_signal(unsigned long sig, struct k_sigaction *ka, | |||
384 | siginfo_t *info, sigset_t *oldset, | 384 | siginfo_t *info, sigset_t *oldset, |
385 | struct pt_regs *regs) | 385 | struct pt_regs *regs) |
386 | { | 386 | { |
387 | sigset_t blocked; | ||
388 | int ret; | 387 | int ret; |
389 | 388 | ||
390 | /* Set up the stack frame */ | 389 | /* Set up the stack frame */ |
@@ -394,10 +393,7 @@ static int handle_signal(unsigned long sig, struct k_sigaction *ka, | |||
394 | ret = setup_frame(sig, ka, oldset, regs); | 393 | ret = setup_frame(sig, ka, oldset, regs); |
395 | if (ret) | 394 | if (ret) |
396 | return ret; | 395 | return ret; |
397 | sigorsets(&blocked, ¤t->blocked, &ka->sa.sa_mask); | 396 | block_sigmask(ka, sig); |
398 | if (!(ka->sa.sa_flags & SA_NODEFER)) | ||
399 | sigaddset(&blocked, sig); | ||
400 | set_current_blocked(&blocked); | ||
401 | return 0; | 397 | return 0; |
402 | } | 398 | } |
403 | 399 | ||