From: Kanth Ghatraju Date: Thu, 11 Jan 2018 22:27:49 +0000 (-0500) Subject: x86: Display correct settings for the SPECTRE_V2 bug X-Git-Tag: v4.1.12-124.31.3~1258 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f38c28f6be776a3fd79c9438f545a22f6189ad98;p=users%2Fjedix%2Flinux-maple.git x86: Display correct settings for the SPECTRE_V2 bug Update the display message for spectre v2. Move the set up of the bug bits to identify_cpu routine to remain persistent. This routine reinitializes the data structure. Orabug: 27353383 Signed-off-by: Kanth Ghatraju Reviewed-by: Darren Kenny Reviewed-by: Konrad Rzeszutek Wilk Signed-off-by: Konrad Rzeszutek Wilk --- diff --git a/arch/x86/kernel/cpu/bugs_64.c b/arch/x86/kernel/cpu/bugs_64.c index 6a9b2a18156c..90bce3024963 100644 --- a/arch/x86/kernel/cpu/bugs_64.c +++ b/arch/x86/kernel/cpu/bugs_64.c @@ -54,9 +54,12 @@ ssize_t cpu_show_spectre_v1(struct device *dev, ssize_t cpu_show_spectre_v2(struct device *dev, struct device_attribute *attr, char *buf) { - if (!boot_cpu_has_bug(X86_BUG_SPECTRE_V2) || - (ibrs_inuse && ibpb_inuse)) + if (!boot_cpu_has_bug(X86_BUG_SPECTRE_V2)) return sprintf(buf, "Not affected\n"); + if (ibrs_inuse && ibpb_inuse) + return sprintf(buf, "Mitigation: IBRS IBPB\n"); + if (ibpb_inuse && !ibrs_inuse) + return sprintf(buf, "Mitigation: IBPB\n"); return sprintf(buf, "Vulnerable\n"); } #endif diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index 9d82ca57f2ea..975a113faefc 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -842,14 +842,6 @@ static void __init early_identify_cpu(struct cpuinfo_x86 *c) this_cpu->c_bsp_init(c); setup_force_cpu_cap(X86_FEATURE_ALWAYS); - - if (c->x86_vendor != X86_VENDOR_AMD) - setup_force_cpu_bug(X86_BUG_CPU_MELTDOWN); - - /* Mitigation for SPECTRE_V1 already in place */ - /* setup_force_cpu_bug(X86_BUG_SPECTRE_V1); */ - - setup_force_cpu_bug(X86_BUG_SPECTRE_V2); } void __init early_cpu_init(void) @@ -1078,6 +1070,14 @@ static void identify_cpu(struct cpuinfo_x86 *c) #ifdef CONFIG_NUMA numa_add_cpu(smp_processor_id()); #endif + + if (c->x86_vendor != X86_VENDOR_AMD) + setup_force_cpu_bug(X86_BUG_CPU_MELTDOWN); + + /* Mitigation for SPECTRE_V1 already in place */ + /* setup_force_cpu_bug(X86_BUG_SPECTRE_V1); */ + + setup_force_cpu_bug(X86_BUG_SPECTRE_V2); } /*