diff options
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/kernel/signal_32.c | 5 | ||||
-rw-r--r-- | arch/sh/kernel/signal_64.c | 7 |
2 files changed, 2 insertions, 10 deletions
diff --git a/arch/sh/kernel/signal_32.c b/arch/sh/kernel/signal_32.c index 9d7bfd66f189..92f4173ad29a 100644 --- a/arch/sh/kernel/signal_32.c +++ b/arch/sh/kernel/signal_32.c | |||
@@ -610,10 +610,7 @@ static void do_signal(struct pt_regs *regs, unsigned int save_r0) | |||
610 | * If there's no signal to deliver, we just put the saved sigmask | 610 | * If there's no signal to deliver, we just put the saved sigmask |
611 | * back. | 611 | * back. |
612 | */ | 612 | */ |
613 | if (current_thread_info()->status & TS_RESTORE_SIGMASK) { | 613 | restore_saved_sigmask(); |
614 | current_thread_info()->status &= ~TS_RESTORE_SIGMASK; | ||
615 | sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL); | ||
616 | } | ||
617 | } | 614 | } |
618 | 615 | ||
619 | asmlinkage void do_notify_resume(struct pt_regs *regs, unsigned int save_r0, | 616 | asmlinkage void do_notify_resume(struct pt_regs *regs, unsigned int save_r0, |
diff --git a/arch/sh/kernel/signal_64.c b/arch/sh/kernel/signal_64.c index aa6428430842..6e191ef0aa62 100644 --- a/arch/sh/kernel/signal_64.c +++ b/arch/sh/kernel/signal_64.c | |||
@@ -143,12 +143,7 @@ static void do_signal(struct pt_regs *regs) | |||
143 | } | 143 | } |
144 | 144 | ||
145 | /* No signal to deliver -- put the saved sigmask back */ | 145 | /* No signal to deliver -- put the saved sigmask back */ |
146 | if (current_thread_info()->status & TS_RESTORE_SIGMASK) { | 146 | restore_saved_sigmask(); |
147 | current_thread_info()->status &= ~TS_RESTORE_SIGMASK; | ||
148 | sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL); | ||
149 | } | ||
150 | |||
151 | return; | ||
152 | } | 147 | } |
153 | 148 | ||
154 | /* | 149 | /* |