diff options
author | Avi Kivity <avi@redhat.com> | 2009-12-03 07:30:06 (GMT) |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-12-03 07:30:06 (GMT) |
commit | 58988b07cfe2ebe9f9b39d973fd8a083390e749f (patch) | |
tree | f7a164abe85b8aa768c58a80c1261208372fb4b0 /arch/x86/kernel | |
parent | 22763c5cf3690a681551162c15d34d935308c8d7 (diff) | |
parent | 8e7cac79808b62f242069a6ac88d364d35621371 (diff) | |
download | linux-fsl-qoriq-58988b07cfe2ebe9f9b39d973fd8a083390e749f.tar.xz |
Merge remote branch 'tip/x86/entry' into kvm-updates/2.6.33
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/signal.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index 5284cd2..e51b056 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c @@ -9,6 +9,7 @@ #include <linux/pm.h> #include <linux/clockchips.h> #include <linux/random.h> +#include <linux/user-return-notifier.h> #include <trace/events/power.h> #include <asm/system.h> #include <asm/apic.h> @@ -224,6 +225,7 @@ void __switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p, */ memset(tss->io_bitmap, 0xff, prev->io_bitmap_max); } + propagate_user_return_notify(prev_p, next_p); } int sys_fork(struct pt_regs *regs) diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c index 6a44a76..c49f90f 100644 --- a/arch/x86/kernel/signal.c +++ b/arch/x86/kernel/signal.c @@ -19,6 +19,7 @@ #include <linux/stddef.h> #include <linux/personality.h> #include <linux/uaccess.h> +#include <linux/user-return-notifier.h> #include <asm/processor.h> #include <asm/ucontext.h> @@ -872,6 +873,8 @@ do_notify_resume(struct pt_regs *regs, void *unused, __u32 thread_info_flags) if (current->replacement_session_keyring) key_replace_session_keyring(); } + if (thread_info_flags & _TIF_USER_RETURN_NOTIFY) + fire_user_return_notifiers(); #ifdef CONFIG_X86_32 clear_thread_flag(TIF_IRET); |