Re: [PATCH v3 17/35] x86/bugs: Restructure l1tf mitigation

Josh Poimboeuf
2025-02-11T01:21:06Z

On Wed, Jan 08, 2025 at 02:24:57PM -0600, David Kaplan wrote:
> static void __init l1tf_select_mitigation(void)
> +{
> + if (!boot_cpu_has_bug(X86_BUG_L1TF) || cpu_mitigations_off()) {
> + l1tf_mitigation = L1TF_MITIGATION_OFF;
> + return;
> + }
> +
> + if (l1tf_mitigation == L1TF_MITIGATION_AUTO) {
> + if (cpu_mitigations_auto_nosmt())
> + l1tf_mitigation = L1TF_MITIGATION_FLUSH_NOSMT;
> + else
> + l1tf_mitigation = L1TF_MITIGATION_FLUSH;
> + }
> +
> +}

Extra whitespace.

> +
> +static void __init l1tf_apply_mitigation(void)
> {
> u64 half_pa;
>
> if (!boot_cpu_has_bug(X86_BUG_L1TF))
> return;
>
> - if (cpu_mitigations_off())
> - l1tf_mitigation = L1TF_MITIGATION_OFF;
> - else if (cpu_mitigations_auto_nosmt())
> - l1tf_mitigation = L1TF_MITIGATION_FLUSH_NOSMT;
> -
> override_cache_bits(&boot_cpu_data);
>
> switch (l1tf_mitigation) {
> case L1TF_MITIGATION_OFF:
> + return;

Note the PTE inverstion mitigation is already done unconditionally, the
X86_FEATURE_L1TF_PTEINV bit is just for reporting that. So this
shouldn't return.

--
Josh