diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-04-24 01:55:30 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-05-21 23:59:47 -0400 |
commit | 1d5d4dbe810befe63e79b2d6cdcad2066e3b1fc4 (patch) | |
tree | 97b3c889e3b2fee67d288b3aa7377ecd64063b46 /arch | |
parent | a54f1655be4cb103a6729adcc9ca914c5fdf1ca0 (diff) |
score: add handling of NOTIFY_RESUME to do_notify_resume()
It's already called if TIF_NOTIFY_RESUME is set, so we only
need to add the actual work. Note that checking for RESTORE_SIGMASK
was not needed - set_restore_sigmask() also sets SIGPENDING, so
we never RESTORE_SIGMASK without SIGPENDING.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/score/kernel/signal.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/score/kernel/signal.c b/arch/score/kernel/signal.c index a087ad85175a..d4a49011c48a 100644 --- a/arch/score/kernel/signal.c +++ b/arch/score/kernel/signal.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <linux/ptrace.h> | 28 | #include <linux/ptrace.h> |
29 | #include <linux/unistd.h> | 29 | #include <linux/unistd.h> |
30 | #include <linux/uaccess.h> | 30 | #include <linux/uaccess.h> |
31 | #include <linux/tracehook.h> | ||
31 | 32 | ||
32 | #include <asm/cacheflush.h> | 33 | #include <asm/cacheflush.h> |
33 | #include <asm/syscalls.h> | 34 | #include <asm/syscalls.h> |
@@ -350,6 +351,12 @@ asmlinkage void do_notify_resume(struct pt_regs *regs, void *unused, | |||
350 | __u32 thread_info_flags) | 351 | __u32 thread_info_flags) |
351 | { | 352 | { |
352 | /* deal with pending signal delivery */ | 353 | /* deal with pending signal delivery */ |
353 | if (thread_info_flags & (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK)) | 354 | if (thread_info_flags & _TIF_SIGPENDING) |
354 | do_signal(regs); | 355 | do_signal(regs); |
356 | if (thread_info_flags & _TIF_NOTIFY_RESUME) { | ||
357 | clear_thread_flag(TIF_NOTIFY_RESUME); | ||
358 | tracehook_notify_resume(regs); | ||
359 | if (current->replacement_session_keyring) | ||
360 | key_replace_session_keyring(); | ||
361 | } | ||
355 | } | 362 | } |