KVM: x86: fix edge EOI and IOAPIC reconfig race
[firefly-linux-kernel-4.4.55.git] / arch / x86 / kvm / x86.c
index e28954d2698a58917ed61d1a664c9881440251be..e33aebbf189e0dfc736e176ec94029eec7167c76 100644 (file)
@@ -6201,8 +6201,10 @@ static void vcpu_scan_ioapic(struct kvm_vcpu *vcpu)
 
        if (irqchip_split(vcpu->kvm))
                kvm_scan_ioapic_routes(vcpu, vcpu->arch.eoi_exit_bitmap);
-       else
+       else {
+               kvm_x86_ops->sync_pir_to_irr(vcpu);
                kvm_ioapic_scan_entry(vcpu, vcpu->arch.eoi_exit_bitmap);
+       }
        kvm_x86_ops->load_eoi_exitmap(vcpu);
 }