]> www.infradead.org Git - users/hch/misc.git/commitdiff
x86/bugs: Use SBPB in write_ibpb() if applicable
authorJosh Poimboeuf <jpoimboe@kernel.org>
Tue, 8 Apr 2025 21:47:31 +0000 (14:47 -0700)
committerIngo Molnar <mingo@kernel.org>
Wed, 9 Apr 2025 10:41:30 +0000 (12:41 +0200)
write_ibpb() does IBPB, which (among other things) flushes branch type
predictions on AMD.  If the CPU has SRSO_NO, or if the SRSO mitigation
has been disabled, branch type flushing isn't needed, in which case the
lighter-weight SBPB can be used.

The 'x86_pred_cmd' variable already keeps track of whether IBPB or SBPB
should be used.  Use that instead of hardcoding IBPB.

Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/17c5dcd14b29199b75199d67ff7758de9d9a4928.1744148254.git.jpoimboe@kernel.org
arch/x86/entry/entry.S

index cabe65ac8379f3391be0deaaf811990b6c091584..175958b02f2bfd517ff9a6b1fb480a79559990dd 100644 (file)
@@ -21,7 +21,7 @@
 SYM_FUNC_START(write_ibpb)
        ANNOTATE_NOENDBR
        movl    $MSR_IA32_PRED_CMD, %ecx
-       movl    $PRED_CMD_IBPB, %eax
+       movl    _ASM_RIP(x86_pred_cmd), %eax
        xorl    %edx, %edx
        wrmsr