[PATCH 0/5] KVM: nVMX: Honor event priority for PI ack at VM-Enter

Sean Christopherson posted 5 patches 1 year, 3 months ago
arch/x86/kvm/vmx/nested.c | 77 ++++++++++++++++++++++-----------------
1 file changed, 44 insertions(+), 33 deletions(-)
[PATCH 0/5] KVM: nVMX: Honor event priority for PI ack at VM-Enter
Posted by Sean Christopherson 1 year, 3 months ago
Rework and cleanup KVM's event handling during nested VM-Enter emulation,
and ultimately fix a bug where KVM doesn't honor event priority when
delivering a nested posted interrupt.  Specifically, if there is a posted
interrupt *notification* IRQ in L1's vIRR, the IRQ should not be acked by
the CPU if a higher priority event is recognized after VM-Enter (which
unblocks L1 IRQs).

FWIW, I don't exactly love the resulting code in vmx_check_nested_events(),
so if someone has a better idea...

Sean Christopherson (5):
  KVM: nVMX: Explicitly update vPPR on successful nested VM-Enter
  KVM: nVMX: Check for pending INIT/SIPI after entering non-root mode
  KVM: nVMX: Drop manual vmcs01.GUEST_INTERRUPT_STATUS.RVI check at
    VM-Enter
  KVM: nVMX: Use vmcs01's controls shadow to check for IRQ/NMI windows
    at VM-Enter
  KVM: nVMX: Honor event priority when emulating PI delivery during
    VM-Enter

 arch/x86/kvm/vmx/nested.c | 77 ++++++++++++++++++++++-----------------
 1 file changed, 44 insertions(+), 33 deletions(-)


base-commit: e466901b947d529f7b091a3b00b19d2bdee206ee
-- 
2.47.0.163.g1226f6d8fa-goog
Re: [PATCH 0/5] KVM: nVMX: Honor event priority for PI ack at VM-Enter
Posted by Sean Christopherson 1 year, 1 month ago
On Fri, 01 Nov 2024 12:14:42 -0700, Sean Christopherson wrote:
> Rework and cleanup KVM's event handling during nested VM-Enter emulation,
> and ultimately fix a bug where KVM doesn't honor event priority when
> delivering a nested posted interrupt.  Specifically, if there is a posted
> interrupt *notification* IRQ in L1's vIRR, the IRQ should not be acked by
> the CPU if a higher priority event is recognized after VM-Enter (which
> unblocks L1 IRQs).
> 
> [...]

Applied to kvm-x86 vmx, thanks!

[1/5] KVM: nVMX: Explicitly update vPPR on successful nested VM-Enter
      https://github.com/kvm-x86/linux/commit/637df11290b3
[2/5] KVM: nVMX: Check for pending INIT/SIPI after entering non-root mode
      https://github.com/kvm-x86/linux/commit/3d0e20e45378
[3/5] KVM: nVMX: Drop manual vmcs01.GUEST_INTERRUPT_STATUS.RVI check at VM-Enter
      https://github.com/kvm-x86/linux/commit/2732f6a7ccee
[4/5] KVM: nVMX: Use vmcs01's controls shadow to check for IRQ/NMI windows at VM-Enter
      https://github.com/kvm-x86/linux/commit/1a265986bff6
[5/5] KVM: nVMX: Honor event priority when emulating PI delivery during VM-Enter
      https://github.com/kvm-x86/linux/commit/ce5cdfb49813

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