On Thu, 05 Sep 2024 21:34:06 -0700, Sean Christopherson wrote: > Fix a bug where KVM injects L2's nested posted interrupt into L1 as a > nested VM-Exit instead of triggering PI processing. The actual bug is > technically a generic nested posted interrupts problem, but due to the > way that KVM handles interrupt delivery, the issue is mostly limited to > to IPI virtualization being enabled. > > Found by the nested posted interrupt KUT test on SPR. > > [...] Trying this again, hopefully with less awful testing this time... Applied to kvm-x86 vmx. [1/7] KVM: x86: Move "ack" phase of local APIC IRQ delivery to separate API https://github.com/kvm-x86/linux/commit/a194a3a13ce0 [2/7] KVM: nVMX: Get to-be-acknowledge IRQ for nested VM-Exit at injection site https://github.com/kvm-x86/linux/commit/363010e1dd0e [3/7] KVM: nVMX: Suppress external interrupt VM-Exit injection if there's no IRQ https://github.com/kvm-x86/linux/commit/8c23670f2b00 [4/7] KVM: nVMX: Detect nested posted interrupt NV at nested VM-Exit injection https://github.com/kvm-x86/linux/commit/6e0b456547f4 [5/7] KVM: x86: Fold kvm_get_apic_interrupt() into kvm_cpu_get_interrupt() https://github.com/kvm-x86/linux/commit/aa9477966aab [6/7] KVM: nVMX: Explicitly invalidate posted_intr_nv if PI is disabled at VM-Enter https://github.com/kvm-x86/linux/commit/1ed0f119c5ff [7/7] KVM: nVMX: Assert that vcpu->mutex is held when accessing secondary VMCSes https://github.com/kvm-x86/linux/commit/3dde46a21aa7 -- https://github.com/kvm-x86/linux/tree/next