Re: [PATCH 1/4] x86/retpoline: Add new mode RETPOLINE_UNDERFLOW

From: Dominik Brodowski
Date: Fri Jan 12 2018 - 17:27:49 EST


> @@ -209,6 +234,11 @@ static void __init spectre_v2_select_mitigation(void)
> mode = retp_compiler() ? SPECTRE_V2_RETPOLINE_GENERIC :
> SPECTRE_V2_RETPOLINE_MINIMAL;
> setup_force_cpu_cap(X86_FEATURE_RETPOLINE);
> + if (mode == SPECTRE_V2_RETPOLINE_GENERIC &&
> + cpu_needs_underflow_protection()) {
> + mode = SPECTRE_V2_RETPOLINE_UNDERFLOW;
> + setup_force_cpu_cap(X86_FEATURE_RETURN_UNDERFLOW);
> + }
> }

Why does this require a retp-compatible compiler to be enabled?

Thanks,
Dominik