Re: [PATCH 0/6] KVM: nVMX: Fix nested posted intr vs. HLT

From: Sean Christopherson
Date: Fri Jun 28 2024 - 18:58:44 EST


On Fri, 07 Jun 2024 10:26:03 -0700, Sean Christopherson wrote:
> Fix the nested posted interrupts bug Jim reported a while back[*], where
> KVM fails to detect that a pending virtual interrupt for a halted L2 is a
> valid wake event. My original analysis and the basic gits of my hack-a-
> patch was correct, I just botched a few mundane details (I kept forgetting
> the PIR is physically contiguous, while the ISR and IRR are not, *sigh*).
>
> [*] https://lore.kernel.org/all/20231207010302.2240506-1-jmattson@xxxxxxxxxx
>
> [...]

Applied to kvm-x86 vmx, but it's sitting at the end of the branch in case
someone has feedback. I'm out next week and really want to get this into
6.11-rc1, hence the quick-ish merge.

[1/6] KVM: nVMX: Add a helper to get highest pending from Posted Interrupt vector
https://github.com/kvm-x86/linux/commit/d83c36d822be
[2/6] KVM: nVMX: Request immediate exit iff pending nested event needs injection
https://github.com/kvm-x86/linux/commit/32f55e475ce2
[3/6] KVM: VMX: Split out the non-virtualization part of vmx_interrupt_blocked()
https://github.com/kvm-x86/linux/commit/322a569c4b41
[4/6] KVM: nVMX: Check for pending posted interrupts when looking for nested events
https://github.com/kvm-x86/linux/commit/27c4fa42b11a
[5/6] KVM: nVMX: Fold requested virtual interrupt check into has_nested_events()
https://github.com/kvm-x86/linux/commit/321ef62b0c5f
[6/6] KVM: x86: WARN if a vCPU gets a valid wakeup that KVM can't yet inject
https://github.com/kvm-x86/linux/commit/45405155d876

--
https://github.com/kvm-x86/linux/tree/next