x86: prevent PGE flush from interruption/preemption
authorIngo Molnar <mingo@elte.hu>
Wed, 28 May 2008 21:33:46 +0000 (17:33 -0400)
committerChris Wright <chrisw@sous-sol.org>
Mon, 9 Jun 2008 18:27:03 +0000 (11:27 -0700)
commit80f3186924d89e1e8f3dbe9d7efdd7921a355769
treef24446ca08f42b48eb15ad2afca5fb8367bd875c
parent2486e8fca463e0f9e6edfebe07186cb7478c6a95
x86: prevent PGE flush from interruption/preemption

upstream commit: b1979a5fda7869a790f4fd83fb06c78498d26ba1

CR4 manipulation is not protected against interrupts and preemption,
but KVM uses smp_function_call to manipulate the X86_CR4_VMXE bit
either from the CPU hotplug code or from the kvm_init call.

We need to protect the CR4 manipulation from both interrupts and
preemption.

Original bug report: http://lkml.org/lkml/2008/5/7/48
Bugzilla entry: http://bugzilla.kernel.org/show_bug.cgi?id=10642

This is not a regression from 2.6.25, it's a long standing and hard to
trigger bug.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
include/asm-x86/tlbflush.h