diff options
Diffstat (limited to 'arch/blackfin/kernel/signal.c')
-rw-r--r-- | arch/blackfin/kernel/signal.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/signal.c b/arch/blackfin/kernel/signal.c index 9d90c18fab23..e0fd63e9e38a 100644 --- a/arch/blackfin/kernel/signal.c +++ b/arch/blackfin/kernel/signal.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/binfmts.h> | 12 | #include <linux/binfmts.h> |
13 | #include <linux/freezer.h> | 13 | #include <linux/freezer.h> |
14 | #include <linux/uaccess.h> | 14 | #include <linux/uaccess.h> |
15 | #include <linux/tracehook.h> | ||
15 | 16 | ||
16 | #include <asm/cacheflush.h> | 17 | #include <asm/cacheflush.h> |
17 | #include <asm/ucontext.h> | 18 | #include <asm/ucontext.h> |
@@ -332,3 +333,20 @@ asmlinkage void do_signal(struct pt_regs *regs) | |||
332 | sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL); | 333 | sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL); |
333 | } | 334 | } |
334 | } | 335 | } |
336 | |||
337 | /* | ||
338 | * notification of userspace execution resumption | ||
339 | */ | ||
340 | asmlinkage void do_notify_resume(struct pt_regs *regs) | ||
341 | { | ||
342 | if (test_thread_flag(TIF_SIGPENDING) || test_thread_flag(TIF_RESTORE_SIGMASK)) | ||
343 | do_signal(regs); | ||
344 | |||
345 | if (test_thread_flag(TIF_NOTIFY_RESUME)) { | ||
346 | clear_thread_flag(TIF_NOTIFY_RESUME); | ||
347 | tracehook_notify_resume(regs); | ||
348 | if (current->replacement_session_keyring) | ||
349 | key_replace_session_keyring(); | ||
350 | } | ||
351 | } | ||
352 | |||