commit: 0e9f11b7dacf41f328ae54d39c08aa1819deef40 Author: Mike Pagano <mpagano <AT> gentoo <DOT> org> AuthorDate: Sun Mar 16 19:02:10 2025 +0000 Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org> CommitDate: Sun Mar 16 19:02:10 2025 +0000 URL: https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=0e9f11b7
Remove redundant patch Removed: 1751_KVM-SVM-Manually-zero-restore-DEBUGCTL.patch Bug: https://bugs.gentoo.org/951467 Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org> 0000_README | 4 -- 1751_KVM-SVM-Manually-zero-restore-DEBUGCTL.patch | 69 ----------------------- 2 files changed, 73 deletions(-) diff --git a/0000_README b/0000_README index 9e76d1c8..78ba59c4 100644 --- a/0000_README +++ b/0000_README @@ -87,10 +87,6 @@ Patch: 1740_x86-insn-decoder-test-allow-longer-symbol-names.patch From: https://gitlab.com/cki-project/kernel-ark/-/commit/8d4a52c3921d278f27241fc0c6949d8fdc13a7f5 Desc: x86/insn_decoder_test: allow longer symbol-names -Patch: 1751_KVM-SVM-Manually-zero-restore-DEBUGCTL.patch -From: https://bugzilla.kernel.org/show_bug.cgi?id=219787 -Desc: KVM: SVM: Manually zero/restore DEBUGCTL if LBR virtualization is disabled - Patch: 2000_BT-Check-key-sizes-only-if-Secure-Simple-Pairing-enabled.patch From: https://lore.kernel.org/linux-bluetooth/[email protected]/raw Desc: Bluetooth: Check key sizes only when Secure Simple Pairing is enabled. See bug #686758 diff --git a/1751_KVM-SVM-Manually-zero-restore-DEBUGCTL.patch b/1751_KVM-SVM-Manually-zero-restore-DEBUGCTL.patch deleted file mode 100644 index e3ce9fe4..00000000 --- a/1751_KVM-SVM-Manually-zero-restore-DEBUGCTL.patch +++ /dev/null @@ -1,69 +0,0 @@ -From d02de0dfc6fd10f7bc4f7067fb9765c24948c737 Mon Sep 17 00:00:00 2001 -From: Sean Christopherson <[email protected]> -Date: Fri, 21 Feb 2025 08:16:36 -0800 -Subject: [PATCH 2/2] KVM: SVM: Manually zero/restore DEBUGCTL if LBR - virtualization is disabled - -Manually zero DEBUGCTL prior to VMRUN if the host's value is non-zero and -LBR virtualization is disabled, as hardware only context switches DEBUGCTL -if LBR virtualization is fully enabled. Running the guest with the host's -value has likely been mildly problematic for quite some time, e.g. it will -result in undesirable behavior if host is running with BTF=1. - -But the bug became fatal with the introduction of Bus Lock Trap ("Detect" -in kernel paralance) support for AMD (commit 408eb7417a92 -("x86/bus_lock: Add support for AMD")), as a bus lock in the guest will -trigger an unexpected #DB. - -Note, KVM could suppress the bus lock #DB, i.e. simply resume the guest -without injecting a #DB, but that wouldn't address things like BTF. And -it appears that AMD CPUs incorrectly clear DR6_BUS_LOCK (it's active low) -when delivering a #DB that is NOT a bus lock trap, and BUS_LOCK_DETECT is -enabled in DEBUGCTL. - -Reported-by: [email protected] -Reported-by: [email protected] -Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219787 -Closes: https://lore.kernel.org/all/[email protected]%2F -Cc: Ravi Bangoria <[email protected]> -Cc: [email protected] -Signed-off-by: Sean Christopherson <[email protected]> ---- - arch/x86/kvm/svm/svm.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c -index a713c803a3a3..a50ca1f17e31 100644 ---- a/arch/x86/kvm/svm/svm.c -+++ b/arch/x86/kvm/svm/svm.c -@@ -4253,6 +4253,16 @@ static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu, - clgi(); - kvm_load_guest_xsave_state(vcpu); - -+ /* -+ * Hardware only context switches DEBUGCTL if LBR virtualization is -+ * enabled. Manually zero DEBUGCTL if necessary (and restore it after) -+ * VM-Exit, as running with the host's DEBUGCTL can negatively affect -+ * guest state and can even be fatal, e.g. due to bus lock detect. -+ */ -+ if (vcpu->arch.host_debugctl && -+ !(svm->vmcb->control.virt_ext & LBR_CTL_ENABLE_MASK)) -+ update_debugctlmsr(0); -+ - kvm_wait_lapic_expire(vcpu); - - /* -@@ -4280,6 +4290,10 @@ static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu, - if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI)) - kvm_before_interrupt(vcpu, KVM_HANDLING_NMI); - -+ if (vcpu->arch.host_debugctl && -+ !(svm->vmcb->control.virt_ext & LBR_CTL_ENABLE_MASK)) -+ update_debugctlmsr(vcpu->arch.host_debugctl); -+ - kvm_load_host_xsave_state(vcpu); - stgi(); - --- -2.48.1.658.g4767266eb4-goog -
