[PATCH] x86/init: fix build with CONFIG_SWAP=n

From: Vlastimil Babka
Date: Tue Aug 14 2018 - 14:51:01 EST


The introduction of generic_max_swapfile_size and arch-specific versions has
broken linking on x86 with CONFIG_SWAP=n due to undefined reference to
'generic_max_swapfile_size'. Fix it by compiling the x86-specific
max_swapfile_size() only with CONFIG_SWAP=y.

Reported-by: Tomas Pruzina <pruzinat@xxxxxxxxx>
Fixes: 377eeaa8e11f ("x86/speculation/l1tf: Limit swap file size to MAX_PA/2")
Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
---
arch/x86/mm/init.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index 156ed8154af8..acfab322fbe0 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -914,6 +914,7 @@ void update_cache_mode_entry(unsigned entry, enum page_cache_mode cache)
__pte2cachemode_tbl[entry] = cache;
}

+#ifdef CONFIG_SWAP
unsigned long max_swapfile_size(void)
{
unsigned long pages;
@@ -934,3 +935,4 @@ unsigned long max_swapfile_size(void)
}
return pages;
}
+#endif
--
2.18.0