new helper: restore_saved_sigmask()
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / avr32 / kernel / signal.c
index a4855ae..8b12c30 100644 (file)
@@ -247,6 +247,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, siginfo_t *info,
         * Block the signal if we were successful.
         */
        block_sigmask(ka, sig);
+       clear_thread_flag(TIF_RESTORE_SIGMASK);
 }
 
 /*
@@ -296,10 +297,7 @@ int do_signal(struct pt_regs *regs, sigset_t *oldset, int syscall)
 
        if (signr == 0) {
                /* No signal to deliver -- put the saved sigmask back */
-               if (test_thread_flag(TIF_RESTORE_SIGMASK)) {
-                       clear_thread_flag(TIF_RESTORE_SIGMASK);
-                       sigprocmask(SIG_SETMASK, &current->saved_sigmask, NULL);
-               }
+               restore_saved_sigmask();
                return 0;
        }
 
@@ -320,7 +318,5 @@ asmlinkage void do_notify_resume(struct pt_regs *regs, struct thread_info *ti)
        if (ti->flags & _TIF_NOTIFY_RESUME) {
                clear_thread_flag(TIF_NOTIFY_RESUME);
                tracehook_notify_resume(regs);
-               if (current->replacement_session_keyring)
-                       key_replace_session_keyring();
        }
 }