Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f567080b authored by David Hildenbrand's avatar David Hildenbrand Committed by Radim Krčmář
Browse files

KVM: x86: check against irqchip_mode in ioapic_in_kernel()



KVM_IRQCHIP_KERNEL implies a fully inititalized ioapic, while
kvm->arch.vioapic might temporarily be set but invalidated again if e.g.
setting of default routing fails when setting KVM_CREATE_IRQCHIP.

Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
parent 19d25a0e
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -112,10 +112,11 @@ static inline struct kvm_ioapic *ioapic_irqchip(struct kvm *kvm)

static inline int ioapic_in_kernel(struct kvm *kvm)
{
	int ret;
	int mode = kvm->arch.irqchip_mode;

	ret = (ioapic_irqchip(kvm) != NULL);
	return ret;
	/* Matches smp_wmb() when setting irqchip_mode */
	smp_rmb();
	return mode == KVM_IRQCHIP_KERNEL;
}

void kvm_rtc_eoi_tracking_restore_one(struct kvm_vcpu *vcpu);