diff options
Diffstat (limited to 'arch/sparc/kernel')
-rw-r--r-- | arch/sparc/kernel/signal32.c | 5 | ||||
-rw-r--r-- | arch/sparc/kernel/signal_32.c | 5 | ||||
-rw-r--r-- | arch/sparc/kernel/signal_64.c | 5 |
3 files changed, 3 insertions, 12 deletions
diff --git a/arch/sparc/kernel/signal32.c b/arch/sparc/kernel/signal32.c index bb1513e45f1a..88e0d8122d2c 100644 --- a/arch/sparc/kernel/signal32.c +++ b/arch/sparc/kernel/signal32.c | |||
@@ -872,10 +872,7 @@ void do_signal32(sigset_t *oldset, struct pt_regs * regs) | |||
872 | /* If there's no signal to deliver, we just put the saved sigmask | 872 | /* If there's no signal to deliver, we just put the saved sigmask |
873 | * back | 873 | * back |
874 | */ | 874 | */ |
875 | if (current_thread_info()->status & TS_RESTORE_SIGMASK) { | 875 | restore_saved_sigmask(); |
876 | current_thread_info()->status &= ~TS_RESTORE_SIGMASK; | ||
877 | set_current_blocked(¤t->saved_sigmask); | ||
878 | } | ||
879 | } | 876 | } |
880 | 877 | ||
881 | struct sigstack32 { | 878 | struct sigstack32 { |
diff --git a/arch/sparc/kernel/signal_32.c b/arch/sparc/kernel/signal_32.c index 6b42e8622d12..9dd97d2e171e 100644 --- a/arch/sparc/kernel/signal_32.c +++ b/arch/sparc/kernel/signal_32.c | |||
@@ -576,10 +576,7 @@ static void do_signal(struct pt_regs *regs, unsigned long orig_i0) | |||
576 | /* if there's no signal to deliver, we just put the saved sigmask | 576 | /* if there's no signal to deliver, we just put the saved sigmask |
577 | * back | 577 | * back |
578 | */ | 578 | */ |
579 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) { | 579 | restore_saved_sigmask(); |
580 | clear_thread_flag(TIF_RESTORE_SIGMASK); | ||
581 | set_current_blocked(¤t->saved_sigmask); | ||
582 | } | ||
583 | } | 580 | } |
584 | 581 | ||
585 | void do_notify_resume(struct pt_regs *regs, unsigned long orig_i0, | 582 | void do_notify_resume(struct pt_regs *regs, unsigned long orig_i0, |
diff --git a/arch/sparc/kernel/signal_64.c b/arch/sparc/kernel/signal_64.c index c82cf1cc3965..55b820ee0ac9 100644 --- a/arch/sparc/kernel/signal_64.c +++ b/arch/sparc/kernel/signal_64.c | |||
@@ -594,10 +594,7 @@ static void do_signal(struct pt_regs *regs, unsigned long orig_i0) | |||
594 | /* If there's no signal to deliver, we just put the saved sigmask | 594 | /* If there's no signal to deliver, we just put the saved sigmask |
595 | * back | 595 | * back |
596 | */ | 596 | */ |
597 | if (current_thread_info()->status & TS_RESTORE_SIGMASK) { | 597 | restore_saved_sigmask(); |
598 | current_thread_info()->status &= ~TS_RESTORE_SIGMASK; | ||
599 | set_current_blocked(¤t->saved_sigmask); | ||
600 | } | ||
601 | } | 598 | } |
602 | 599 | ||
603 | void do_notify_resume(struct pt_regs *regs, unsigned long orig_i0, unsigned long thread_info_flags) | 600 | void do_notify_resume(struct pt_regs *regs, unsigned long orig_i0, unsigned long thread_info_flags) |