From 4b6ec154be0698812594241eda6e0d7803436889 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Tue, 24 Apr 2012 02:37:07 -0400 Subject: [PATCH] --- yaml --- r: 305316 b: refs/heads/master c: d50349b0c397407458ea8c57aee765d158e6f9ee h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/um/include/asm/thread_info.h | 1 + trunk/arch/um/kernel/process.c | 8 +++++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 65154857d07d..1591df272fb0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3b7d15bde54be81e3edd773724d85d20ae42a4da +refs/heads/master: d50349b0c397407458ea8c57aee765d158e6f9ee diff --git a/trunk/arch/um/include/asm/thread_info.h b/trunk/arch/um/include/asm/thread_info.h index 200c4ab1240c..6d85ebb860fd 100644 --- a/trunk/arch/um/include/asm/thread_info.h +++ b/trunk/arch/um/include/asm/thread_info.h @@ -71,6 +71,7 @@ static inline struct thread_info *current_thread_info(void) #define TIF_MEMDIE 5 /* is terminating due to OOM killer */ #define TIF_SYSCALL_AUDIT 6 #define TIF_RESTORE_SIGMASK 7 +#define TIF_NOTIFY_RESUME 8 #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) diff --git a/trunk/arch/um/kernel/process.c b/trunk/arch/um/kernel/process.c index 2b73dedb44ca..4d9af3172d9f 100644 --- a/trunk/arch/um/kernel/process.c +++ b/trunk/arch/um/kernel/process.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -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)