diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-04-24 08:37:07 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-05-21 20:19:53 +0200 |
commit | d50349b0c397407458ea8c57aee765d158e6f9ee (patch) | |
tree | 4ba282ac4385194f8812ceae81237e6dd28274a9 /arch/um/kernel/process.c | |
parent | um: ->restart_block.fn needs to be reset on sigreturn (diff) | |
download | linux-d50349b0c397407458ea8c57aee765d158e6f9ee.tar.xz linux-d50349b0c397407458ea8c57aee765d158e6f9ee.zip |
um: add TIF_NOTIFY_RESUME
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/um/kernel/process.c')
-rw-r--r-- | arch/um/kernel/process.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index 2b73dedb44ca..4d9af3172d9f 100644 --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c @@ -18,6 +18,7 @@ #include <linux/seq_file.h> #include <linux/tick.h> #include <linux/threads.h> +#include <linux/tracehook.h> #include <asm/current.h> #include <asm/pgtable.h> #include <asm/mmu_context.h> @@ -114,8 +115,13 @@ void interrupt_end(void) { if (need_resched()) schedule(); - if (test_tsk_thread_flag(current, TIF_SIGPENDING)) + if (test_thread_flag(TIF_SIGPENDING)) do_signal(); + if (test_and_clear_thread_flag(TIF_NOTIFY_RESUME)) { + tracehook_notify_resume(¤t->thread.regs); + if (current->replacement_session_keyring) + key_replace_session_keyring(); + } } void exit_thread(void) |