]> www.infradead.org Git - users/jedix/linux-maple.git/commit
KVM: SVM: Suppress DEBUGCTL.BTF on AMD
authorSean Christopherson <seanjc@google.com>
Thu, 27 Feb 2025 22:24:07 +0000 (14:24 -0800)
committerSean Christopherson <seanjc@google.com>
Fri, 28 Feb 2025 17:17:45 +0000 (09:17 -0800)
commitd0eac42f5cecce009d315655bee341304fbe075e
tree51e863d02d6587bd540da034c14ac54345878230
parentee89e8013383d50a27ea9bf3c8a69eed6799856f
KVM: SVM: Suppress DEBUGCTL.BTF on AMD

Mark BTF as reserved in DEBUGCTL on AMD, as KVM doesn't actually support
BTF, and fully enabling BTF virtualization is non-trivial due to
interactions with the emulator, guest_debug, #DB interception, nested SVM,
etc.

Don't inject #GP if the guest attempts to set BTF, as there's no way to
communicate lack of support to the guest, and instead suppress the flag
and treat the WRMSR as (partially) unsupported.

In short, make KVM behave the same on AMD and Intel (VMX already squashes
BTF).

Note, due to other bugs in KVM's handling of DEBUGCTL, the only way BTF
has "worked" in any capacity is if the guest simultaneously enables LBRs.

Reported-by: Ravi Bangoria <ravi.bangoria@amd.com>
Cc: stable@vger.kernel.org
Reviewed-and-tested-by: Ravi Bangoria <ravi.bangoria@amd.com>
Link: https://lore.kernel.org/r/20250227222411.3490595-3-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/svm/svm.c
arch/x86/kvm/svm/svm.h