The Kconfig entry for zswap currently allows CRYPTO=m to satisfy the zswap dependency. However zswap is boolean (i.e. built-in) and has symbol dependencies on CRYPTO. Additionally, because the CRYPTO dependency is satisfied with =m, the additional selects zswap does can also be satisfied with =m, which leads to additional linking errors. >From the report: ===== tree: git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git since-3.9 head: 57cefddb141d6c9d0ab4f5a8589dd017f796a3f7 commit: 563f51c95b552e0d663df5bdf6cfc8e8a72d3ec6 [494/499] zswap: add to mm/ config: x86_64-randconfig-x004-0619 (attached as .config) All error/warnings: mm/built-in.o: In function `zswap_frontswap_invalidate_area': >> zswap.c:(.text+0x3a705): undefined reference to `zbud_free' mm/built-in.o: In function `zswap_free_entry': >> zswap.c:(.text+0x3a76b): undefined reference to `zbud_free' >> zswap.c:(.text+0x3a789): undefined reference to `zbud_get_pool_size' on and on... ===== This patch makes CRYPTO a built-in dependency of ZSWAP. This has the side effect of also making the selects built-in. Signed-off-by: Seth Jennings <sjenning@xxxxxxxxxxxxxxxxxx> Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> --- Andrew, please merge this into your mmotm ASAP as it fixes a demonstrable build break. mm/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/Kconfig b/mm/Kconfig index 949e8de..81763ae 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -490,7 +490,7 @@ config ZBUD config ZSWAP bool "Compressed cache for swap pages (EXPERIMENTAL)" - depends on FRONTSWAP && CRYPTO + depends on FRONTSWAP && CRYPTO=y select CRYPTO_LZO select ZBUD default n -- 1.8.3.1 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>