]> www.infradead.org Git - users/jedix/linux-maple.git/commit
KVM: x86: Plumb the emulator's starting RIP into nested intercept checks
authorSean Christopherson <seanjc@google.com>
Sat, 1 Feb 2025 01:55:14 +0000 (17:55 -0800)
committerSean Christopherson <seanjc@google.com>
Mon, 24 Feb 2025 17:01:07 +0000 (09:01 -0800)
commit9aeb9d8a67389caa97545987adc79a25a734b149
tree49436d3759598771fc899bd4bb1aaa56311f4a3f
parent407d03fe924c69d04bca980402fb11d1542cd74c
KVM: x86: Plumb the emulator's starting RIP into nested intercept checks

When checking for intercept when emulating an instruction on behalf of L2,
pass the emulator's view of the RIP of the instruction being emulated to
vendor code.  Unlike SVM, which communicates the next RIP on VM-Exit,
VMX communicates the length of the instruction that generated the VM-Exit,
i.e. requires the current and next RIPs.

Note, unless userspace modifies RIP during a userspace exit that requires
completion, kvm_rip_read() will contain the same information.  Pass the
emulator's view largely out of a paranoia, and because there is no
meaningful cost in doing so.

Link: https://lore.kernel.org/r/20250201015518.689704-8-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/emulate.c
arch/x86/kvm/kvm_emulate.h