Re: [PATCH v12 02/12] x86/bhi: Make clear_bhb_loop() effective on newer CPUs
From: Nikolay Borisov <hidden>
Date: 2026-06-24 12:12:35
Also in:
bpf, kvm, linux-doc, lkml
From: Nikolay Borisov <hidden>
Date: 2026-06-24 12:12:35
Also in:
bpf, kvm, linux-doc, lkml
On 23.06.26 г. 20:33 ч., Pawan Gupta wrote:
As a mitigation for BHI, clear_bhb_loop() executes branches that overwrite the Branch History Buffer (BHB). On Alder Lake and newer parts this sequence is not sufficient because it doesn't clear enough entries. This was not an issue because these CPUs use the BHI_DIS_S hardware mitigation in the kernel. Now with VMSCAPE (BHI variant) it is also required to isolate branch history between guests and userspace. Since BHI_DIS_S only protects the kernel, the newer CPUs also use IBPB. A cheaper alternative to the current IBPB mitigation is clear_bhb_loop(). But it currently does not clear enough BHB entries to be effective on newer CPUs with larger BHB. At boot, dynamically set the loop count of clear_bhb_loop() such that it is effective on newer CPUs too. Introduce global loop counts, initializing them with appropriate value based on the hardware feature X86_FEATURE_BHI_CTRL. Suggested-by: Dave Hansen <dave.hansen@linux.intel.com> Acked-by: Borislav Petkov (AMD) <bp@alien8.de> Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Reviewed-by: Nikolay Borisov <redacted> Although AI brings up a valid argument about whether guests should be pessimized and fallback to the longer sequence ?