[PATCH] x86/spectre: hide 'spectre_v2_enabled' when disabled

From: Arnd Bergmann
Date: Wed Jan 10 2018 - 17:07:34 EST


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@xxxxxxxx>
---
arch/x86/kernel/cpu/bugs.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index b957f771a5b7..6f0105875c3a 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -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
--
2.9.0