diff options
| author | Kevin Cheng <chengkev@google.com> | 2026-05-23 02:27:00 +0300 |
|---|---|---|
| committer | Sean Christopherson <seanjc@google.com> | 2026-05-27 00:54:20 +0300 |
| commit | 96b067b59ad9ccede585fcadab27543188353bff (patch) | |
| tree | ae7eadd17c60ade8fc61de2541e0b535b11f0eee /tools/perf/scripts/python | |
| parent | 297c2fe249db38bb28f343fa3ce9d3c1b3a9b1d6 (diff) | |
| download | linux-96b067b59ad9ccede585fcadab27543188353bff.tar.xz | |
KVM: VMX: Synthesize nested EPT violation GVA_IS_VALID/GVA_TRANSLATED bits
When injecting an EPT Violation into L2 in response to a fault detected
while emulating an L2 GVA access, synthesize the GVA_IS_VALID and
GVA_TRANSLATED bits using information provided by the walker, instead of
pulling the bits from vmcs02.EXIT_QUALIFICATION. The information in
vmcs02.EXIT_QUALIFICATION is valid/correct if and only if the fault being
injected into L1 is the direct result of an EPT Violation VM-Exit from L2.
E.g. if KVM is emulating an I/O instruction and the memory operand's
translation through L1's EPT fails, using vmcs02.EXIT_QUALIFICATION is
wrong as the semantics for EXIT_QUALIFICATION would be for an I/O exit,
not an EPT Violation exit.
Opportunistically clean up the formatting for creating the mask of bits
to pull from vmcs02.EXIT_QUALIFICATION.
Signed-off-by: Kevin Cheng <chengkev@google.com>
[sean: use plumbed in @access bits, massage changelog]
Link: https://patch.msgid.link/20260522232701.3671446-5-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
