summaryrefslogtreecommitdiffstats
path: root/arch/um/kernel
diff options
context:
space:
mode:
authorAl Viro2012-04-24 08:37:07 +0200
committerAl Viro2012-05-21 20:19:53 +0200
commitd50349b0c397407458ea8c57aee765d158e6f9ee (patch)
tree4ba282ac4385194f8812ceae81237e6dd28274a9 /arch/um/kernel
parentum: ->restart_block.fn needs to be reset on sigreturn (diff)
downloadkernel-qcow2-linux-d50349b0c397407458ea8c57aee765d158e6f9ee.tar.gz
kernel-qcow2-linux-d50349b0c397407458ea8c57aee765d158e6f9ee.tar.xz
kernel-qcow2-linux-d50349b0c397407458ea8c57aee765d158e6f9ee.zip
um: add TIF_NOTIFY_RESUME
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/um/kernel')
-rw-r--r--arch/um/kernel/process.c8
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(&current->thread.regs);
+ if (current->replacement_session_keyring)
+ key_replace_session_keyring();
+ }
}
void exit_thread(void)