Commit 0fe4aeea authored by Josh Poimboeuf's avatar Josh Poimboeuf Committed by Borislav Petkov

x86/bugs: Do IBPB fallback check only once

When booting with retbleed=auto, if the kernel wasn't built with
CONFIG_CC_HAS_RETURN_THUNK, the mitigation falls back to IBPB.  Make
sure a warning is printed in that case.  The IBPB fallback check is done
twice, but it really only needs to be done once.
Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
parent 3ebc1700
...@@ -891,18 +891,13 @@ static void __init retbleed_select_mitigation(void) ...@@ -891,18 +891,13 @@ static void __init retbleed_select_mitigation(void)
case RETBLEED_CMD_AUTO: case RETBLEED_CMD_AUTO:
default: default:
if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD || if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD ||
boot_cpu_data.x86_vendor == X86_VENDOR_HYGON) { boot_cpu_data.x86_vendor == X86_VENDOR_HYGON)
if (IS_ENABLED(CONFIG_RETPOLINE) &&
IS_ENABLED(CONFIG_CC_HAS_RETURN_THUNK))
retbleed_mitigation = RETBLEED_MITIGATION_UNRET; retbleed_mitigation = RETBLEED_MITIGATION_UNRET;
else
retbleed_mitigation = RETBLEED_MITIGATION_IBPB;
}
/* /*
* The Intel mitigation (IBRS) was already selected in * The Intel mitigation (IBRS or eIBRS) was already selected in
* spectre_v2_select_mitigation(). * spectre_v2_select_mitigation(). 'retbleed_mitigation' will
* be set accordingly below.
*/ */
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment