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@gmail.com Fixes: 377eeaa8e11f ("x86/speculation/l1tf: Limit swap file size to MAX_PA/2") Signed-off-by: Vlastimil Babka vbabka@suse.cz Cc: stable@vger.kernel.org --- 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
On Tue, Aug 14, 2018 at 11:51 AM Vlastimil Babka vbabka@suse.cz wrote:
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.
Pretty much all the x86 people are on vacation this week, so I just took this directly.
Linus
linux-stable-mirror@lists.linaro.org