Re: [PATCH v2] KVM: x86: ioapic: Fix level-triggered EOI and userspace I/OAPIC reconfigure race

From: Sean Christopherson
Date: Thu Dec 08 2022 - 20:34:37 EST


On Thu, Dec 08, 2022, Adamos Ttofari wrote:
> When scanning userspace I/OAPIC entries, intercept EOI for level-triggered
> IRQs if the current vCPU has a pending and/or in-service IRQ for the
> vector in its local API, even if the vCPU doesn't match the new entry's
> destination. This fixes a race between userspace I/OAPIC reconfiguration
> and IRQ delivery that results in the vector's bit being left set in the
> remote IRR due to the eventual EOI not being forwarded to the userspace
> I/OAPIC.
>
> Commit 0fc5a36dd6b3 ("KVM: x86: ioapic: Fix level-triggered EOI and IOAPIC
> reconfigure race") fixed the in-kernel IOAPIC, but not the userspace
> IOAPIC configuration, which has a similar race.
>
> Fixes: 0fc5a36dd6b3 ("KVM: x86: ioapic: Fix level-triggered EOI and IOAPIC reconfigure race")
>
> Signed-off-by: Adamos Ttofari <attofari@xxxxxxxxx>
> ---

Reviewed-by: Sean Christopherson <seanjc@xxxxxxxxxx>