lkml.org 
[lkml]   [2018]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Patch v5 09/16] x86/smt: Convert cpu_smt_control check to cpu_smt_enabled static key
Tim,

On Fri, 16 Nov 2018, Tim Chen wrote:
>
> +static char *l1tf_show_smt_vulnerable(void)
> +{
> + if (static_branch_likely(&cpu_smt_enabled))
> + return "vulnerable";
> + else
> + return "disabled";

so an UP kernel will now report vulnerable.

> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -11607,7 +11607,7 @@ static int vmx_vm_init(struct kvm *kvm)
> * Warn upon starting the first VM in a potentially
> * insecure environment.
> */
> - if (cpu_smt_control == CPU_SMT_ENABLED)
> + if (static_branch_likely(&cpu_smt_enabled))
> pr_warn_once(L1TF_MSG_SMT);

Ditto.

> #if defined(CONFIG_SMP) && defined(CONFIG_HOTPLUG_SMT)
> -extern enum cpuhp_smt_control cpu_smt_control;
> extern void cpu_smt_disable(bool force);
> extern void cpu_smt_check_topology_early(void);
> extern void cpu_smt_check_topology(void);

What about the same thing in the else path?

> diff --git a/kernel/cpu.c b/kernel/cpu.c
> index e216154..54cf3f6 100644
> --- a/kernel/cpu.c
> +++ b/kernel/cpu.c
> @@ -368,8 +368,15 @@ static void lockdep_release_cpus_lock(void)
> #endif /* CONFIG_HOTPLUG_CPU */
>
> #ifdef CONFIG_HOTPLUG_SMT
> +
> +enum cpuhp_smt_control {
> + CPU_SMT_ENABLED,
> + CPU_SMT_DISABLED,
> + CPU_SMT_FORCE_DISABLED,
> + CPU_SMT_NOT_SUPPORTED,
> +};
> +
> enum cpuhp_smt_control cpu_smt_control __read_mostly = CPU_SMT_ENABLED;

And this needs to be global because?

> -EXPORT_SYMBOL_GPL(cpu_smt_control);

Thanks,

tglx

\
 
 \ /
  Last update: 2018-11-19 13:48    [W:0.189 / U:0.560 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site