[PATCH Wily SRU] x86/vm86: Set thread.vm86 to NULL on fork/clone
tim.gardner at canonical.com
tim.gardner at canonical.com
Wed Nov 4 18:07:45 UTC 2015
From: Andy Lutomirski <luto at kernel.org>
BugLink: http://bugs.launchpad.net/bugs/1499089
thread.vm86 points to per-task information -- the pointer should not
be copied on clone.
Fixes: d4ce0f26c790 ("x86/vm86: Move fields from 'struct kernel_vm86_struct' to 'struct vm86'")
Signed-off-by: Andy Lutomirski <luto at kernel.org>
Cc: Brian Gerst <brgerst at gmail.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Borislav Petkov <bp at alien8.de>
Cc: Stas Sergeev <stsp at list.ru>
Link: http://lkml.kernel.org/r/71c5d6985d70ec8197c8d72f003823c81b7dcf99.1446270067.git.luto@kernel.org
Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
(cherry picked from commit 2459ee8651dc5ab72790c2ffa99af288c7641b64)
Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
---
arch/x86/kernel/process.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
index 7e3bedb..7e2ef5d 100644
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -83,6 +83,9 @@ EXPORT_SYMBOL_GPL(idle_notifier_unregister);
int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
{
memcpy(dst, src, arch_task_struct_size);
+#ifdef CONFIG_VM86
+ dst->thread.vm86 = NULL;
+#endif
return fpu__copy(&dst->thread.fpu, &src->thread.fpu);
}
--
2.5.0
More information about the kernel-team
mailing list