Hello, The current interrupt posting code doesn't flush the PIR into the IRR when interrupts are modified, and as a result a vCPU can receive vectors from a tear down or moved interrupt. Fix this by making sure PIR is always synced to IRR when vMSI or vIO-APIC interrupts are modified.
Roger Pau Monne (3): vmx: add ASSERT to prevent syncing PIR to IRR... x86/passthrough: fix migration of MSI when using posted interrupts x86/vioapic: sync PIR to IRR when modifying entries xen/arch/x86/hvm/hvm.c | 31 ++++++++ xen/arch/x86/hvm/vioapic.c | 46 ++++++++++-- xen/arch/x86/hvm/vlapic.c | 19 +++++ xen/arch/x86/hvm/vmsi.c | 23 ------ xen/arch/x86/hvm/vmx/vmx.c | 11 +++ xen/drivers/passthrough/io.c | 118 ++++++++++++++----------------- xen/include/asm-x86/hvm/hvm.h | 5 +- xen/include/asm-x86/hvm/vlapic.h | 3 + 8 files changed, 162 insertions(+), 94 deletions(-) -- 2.24.0 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel