Re: [PATCH 2/2] KVM: x86: fix edge EOI and IOAPIC reconfig race

From: Paolo Bonzini
Date: Thu Aug 13 2015 - 10:53:37 EST




On 13/08/2015 15:46, Radim KrÄmÃÅ wrote:
> 1) IOAPIC inject a vector from i8254
> 2) guest reconfigures that vector's VCPU and therefore eoi_exit_bitmap
> on original VCPU gets cleared
> 3) guest's handler for the vector does EOI
> 4) KVM's EOI handler doesn't pass that vector to IOAPIC because it is
> not in that VCPU's eoi_exit_bitmap
> 5) i8254 stops working
>
> This creates an unwanted situation if the vector is reused by a
> non-IOAPIC source, but I think it is so rare that we don't want to make
> the solution more sophisticated.

What happens if the vector is changed in step 2?
__kvm_ioapic_update_eoi won't match the redirection table entry.

How do you reproduce the bug?

Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/