summaryrefslogtreecommitdiff
path: root/scripts/objdiff
diff options
context:
space:
mode:
authorSean Christopherson <seanjc@google.com>2026-05-30 01:21:44 +0300
committerSean Christopherson <seanjc@google.com>2026-06-03 15:34:45 +0300
commit42a842f3f6b9eaa361914c96a7c974973e1e2132 (patch)
treea740e07f209ba75fde9f1bfa1c6aa9a9e0dfa712 /scripts/objdiff
parent376e118551545190debb3901ea4d0e46aa4c1dc4 (diff)
downloadlinux-42a842f3f6b9eaa361914c96a7c974973e1e2132.tar.xz
KVM: SVM: Truncate INVLPGA address in compatibility mode
Check for full 64-bit mode, not just long mode, when truncating the virtual address as part of INVLPGA emulation. Compatibility mode doesn't support 64-bit addressing. Note, the FIXME still applies, e.g. if the guest deliberately targeted EAX while in 64-bit via an address size override. That flaw isn't worth fixing as it would require decoding the code stream, which would open an entirely different can of worms, and in practice no sane guest would shove garbage into RAX[63:32] and execute INVLPGA. Note #2, VMSAVE, VMLOAD, and VMRUN all suffer from the same architectural flaw of not providing the full linear address in a VMCB exit information field, because, quoting the APM verbatim: the linear address is available directly from the guest rAX register (VMSAVE, VMLOAD, and VMRUN take a physical address, but their behavior with respect to rAX is otherwise identical). Fixes: bc9eff67fc35 ("KVM: SVM: Use default rAX size for INVLPGA emulation") Reviewed-by: Yosry Ahmed <yosry@kernel.org> Reviewed-by: Binbin Wu <binbin.wu@linux.intel.com> Link: https://patch.msgid.link/20260529222223.870923-2-seanjc@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'scripts/objdiff')
0 files changed, 0 insertions, 0 deletions