On Thu, 27 Feb 2025 14:24:05 -0800, Sean Christopherson wrote: > Fix a long-lurking bug in SVM where KVM runs the guest with the host's > DEBUGCTL if LBR virtualization is disabled. AMD CPUs rather stupidly > context switch DEBUGCTL if and only if LBR virtualization is enabled (not > just supported, but fully enabled). > > The bug has gone unnoticed because until recently, the only bits that > KVM would leave set were things like BTF, which are guest visible but > won't cause functional problems unless guest software is being especially > particular about #DBs. > > [...] Applied 1-5 to kvm-x86 fixes (for 6.14). I'm going to hold off on making DEBUGCTL[5:2] reserved until at least 6.15. [1/6] KVM: SVM: Drop DEBUGCTL[5:2] from guest's effective value https://github.com/kvm-x86/linux/commit/ee89e8013383 [2/6] KVM: SVM: Suppress DEBUGCTL.BTF on AMD https://github.com/kvm-x86/linux/commit/d0eac42f5cec [3/6] KVM: x86: Snapshot the host's DEBUGCTL in common x86 https://github.com/kvm-x86/linux/commit/fb71c7959356 [4/6] KVM: SVM: Manually context switch DEBUGCTL if LBR virtualization is disabled https://github.com/kvm-x86/linux/commit/433265870ab3 [5/6] KVM: x86: Snapshot the host's DEBUGCTL after disabling IRQs https://github.com/kvm-x86/linux/commit/189ecdb3e112 [6/6] KVM: SVM: Treat DEBUGCTL[5:2] as reserved (no commit info) -- https://github.com/kvm-x86/linux/tree/next