--- /dev/null
+From 0dce7cd67fd9055c4a2ff278f8af1431e646d346 Mon Sep 17 00:00:00 2001
+From: Andrew Jones <drjones@redhat.com>
+Date: Wed, 15 Jan 2014 13:39:59 +0100
+Subject: kvm: x86: fix apic_base enable check
+
+From: Andrew Jones <drjones@redhat.com>
+
+commit 0dce7cd67fd9055c4a2ff278f8af1431e646d346 upstream.
+
+Commit e66d2ae7c67bd moved the assignment
+vcpu->arch.apic_base = value above a condition with
+(vcpu->arch.apic_base ^ value), causing that check
+to always fail. Use old_value, vcpu->arch.apic_base's
+old value, in the condition instead.
+
+Signed-off-by: Andrew Jones <drjones@redhat.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Cc: Radim Krčmář <rkrcmar@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/x86/kvm/lapic.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/x86/kvm/lapic.c
++++ b/arch/x86/kvm/lapic.c
+@@ -1355,7 +1355,7 @@ void kvm_lapic_set_base(struct kvm_vcpu
+ vcpu->arch.apic_base = value;
+
+ /* update jump label if enable bit changes */
+- if ((vcpu->arch.apic_base ^ value) & MSR_IA32_APICBASE_ENABLE) {
++ if ((old_value ^ value) & MSR_IA32_APICBASE_ENABLE) {
+ if (value & MSR_IA32_APICBASE_ENABLE)
+ static_key_slow_dec_deferred(&apic_hw_disabled);
+ else