On Mon, Dec 15, 2025, Yosry Ahmed wrote:
On Mon, Dec 15, 2025 at 07:26:54PM +0000, Yosry Ahmed wrote:
svm_update_lbrv() always updates LBR MSRs intercepts, even when they are already set correctly. This results in force_msr_bitmap_recalc always being set to true on every nested transition, essentially undoing the hyperv optimization in nested_svm_merge_msrpm().
Fix it by keeping track of whether LBR MSRs are intercepted or not and only doing the update if needed, similar to x2avic_msrs_intercepted.
Avoid using svm_test_msr_bitmap_*() to check the status of the intercepts, as an arbitrary MSR will need to be chosen as a representative of all LBR MSRs, and this could theoretically break if some of the MSRs intercepts are handled differently from the rest.
Also, using svm_test_msr_bitmap_*() makes backports difficult as it was only recently introduced with no direct alternatives in older kernels.
Fixes: fbe5e5f030c2 ("KVM: nSVM: Always recalculate LBR MSR intercepts in svm_update_lbrv()") Cc: stable@vger.kernel.org Signed-off-by: Yosry Ahmed yosry.ahmed@linux.dev
Sigh.. I had this patch file in my working directory and it was sent by mistake with the series, as the cover letter nonetheless. Sorry about that. Let me know if I should resend.
Eh, it's fine for now. The important part is clarfying that this patch should be ignored, which you've already done.