On Fri, 19 Jul 2024 17:01:32 -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, I'm 99.9% certain the issue is > limited to IPI virtualization being enabled. > > Found by the nested posted interrupt KUT test on SPR. > > [...] Applied to kvm-x86 vmx, with a massaged changelog to clarify that this bug could be hit even without IPI virtualization. [1/6] KVM: nVMX: Get to-be-acknowledge IRQ for nested VM-Exit at injection site https://github.com/kvm-x86/linux/commit/6f373f4d941b [2/6] KVM: nVMX: Suppress external interrupt VM-Exit injection if there's no IRQ https://github.com/kvm-x86/linux/commit/cb14e454add0 [3/6] KVM: x86: Don't move VMX's nested PI notification vector from IRR to ISR https://github.com/kvm-x86/linux/commit/f729851189d5 [4/6] KVM: nVMX: Track nested_vmx.posted_intr_nv as a signed int https://github.com/kvm-x86/linux/commit/ab9cbe044f83 [5/6] KVM: nVMX: Explicitly invalidate posted_intr_nv if PI is disabled at VM-Enter https://github.com/kvm-x86/linux/commit/be02aa1e52d2 [6/6] KVM: nVMX: Detect nested posted interrupt NV at nested VM-Exit injection https://github.com/kvm-x86/linux/commit/44518120c4ca -- https://github.com/kvm-x86/linux/tree/next