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 | |
| 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>
| -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 | } |
