@@ -76,7 +76,9 @@ enum spectre_v2_mitigation {
#undef pr_fmt
#define pr_fmt(fmt) "Spectre V2 mitigation: " fmt
+#ifdef CONFIG_RETPOLINE
static int spectre_v2_enabled = SPECTRE_V2_NONE;
+#endif
static void __init spec2_print_if_insecure(const char *reason)
{
@@ -195,6 +197,7 @@ ssize_t cpu_show_spectre_v2(struct device *dev,
if (!boot_cpu_has_bug(X86_BUG_SPECTRE_V2))
return sprintf(buf, "Not affected\n");
+#ifdef CONFIG_RETPOLINE
switch (spectre_v2_enabled) {
case SPECTRE_V2_RETPOLINE_MINIMAL:
return sprintf(buf, "Mitigation: Minimal generic ASM retpoline\n");
@@ -204,8 +207,8 @@ ssize_t cpu_show_spectre_v2(struct device *dev,
return sprintf(buf, "Mitigation: Full generic retpoline\n");
case SPECTRE_V2_RETPOLINE_AMD:
return sprintf(buf, "Mitigation: Full AMD retpoline\n");
- default:
- return sprintf(buf, "Vulnerable\n");
}
+#endif
+ return sprintf(buf, "Vulnerable\n");
}
#endif
gcc prints a harmless warning when both CONFIG_RETPOLINE and CONFIG_SYSFS are disabled: arch/x86/kernel/cpu/bugs.c:79:12: warning: 'spectre_v2_enabled' defined but not used [-Wunused-variable] This hides the spectre_v2_enabled variable from compilation when CONFIG_RETPOLINE is disabled, to avoid that warning. Fixes: 54d5103245ff ("x86/spectre: Add boot time option to select Spectre v2 mitigation") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/x86/kernel/cpu/bugs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) -- 2.9.0