On Wed, Jul 06, 2022, Dmytro Maluka wrote: > This is not a problem on native, since for oneshot irq we keep the interrupt > masked until the thread exits, so that the EOI at the end of hardirq doesn't > result in immediate re-assert. In vfio + KVM case, however, the host doesn't > check that the interrupt is still masked in the guest, so > vfio_platform_unmask() is called regardless. Isn't not checking that an interrupt is unmasked the real bug? Fudging around vfio (or whatever is doing the premature unmasking) bugs by delaying an ack notification in KVM is a hack, no? > Therefore, since the interrupt has not yet been acked in the guest's threaded > handler, a new (unwanted) physical interrupt is generated in the host and > queued for injection to the guest in vfio_automasked_irq_handler().