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