Re: [PATCH v3] KVM: LAPIC: Recalculate apic map in batch

From: Paolo Bonzini
Date: Mon Jun 22 2020 - 10:37:14 EST


On 22/06/20 00:26, Igor Mammedov wrote:
>
> following sequence looks like a race that can cause lost map update events:
>
> cpu1 cpu2
>
> apic_map_dirty = true
> ------------------------------------------------------------
> kvm_recalculate_apic_map:
> pass check
> mutex_lock(&kvm->arch.apic_map_lock);
> if (!kvm->arch.apic_map_dirty)
> and in process of updating map
> -------------------------------------------------------------
> other calls to
> apic_map_dirty = true might be too late for affected cpu
> -------------------------------------------------------------
> apic_map_dirty = false
> -------------------------------------------------------------
> kvm_recalculate_apic_map:
> bail out on
> if (!kvm->arch.apic_map_dirty)

I will post a fix for that. Thanks for the analysis!

Paolo