On Thu, Mar 15, 2018 at 8:34 AM, Arnd Bergmann <a...@arndb.de> wrote: > The new crypto API use causes some problems with Kconfig dependencies, > including this link error: > > fs/pstore/platform.o: In function `pstore_register': > platform.c:(.text+0x248): undefined reference to `crypto_has_alg' > platform.c:(.text+0x2a0): undefined reference to `crypto_alloc_base' > fs/pstore/platform.o: In function `pstore_unregister': > platform.c:(.text+0x498): undefined reference to `crypto_destroy_tfm' > crypto/lz4hc.o: In function `lz4hc_sdecompress': > lz4hc.c:(.text+0x1a): undefined reference to `LZ4_decompress_safe' > crypto/lz4hc.o: In function `lz4hc_decompress_crypto': > lz4hc.c:(.text+0x5a): undefined reference to `LZ4_decompress_safe' > crypto/lz4hc.o: In function `lz4hc_scompress': > lz4hc.c:(.text+0xaa): undefined reference to `LZ4_compress_HC' > crypto/lz4hc.o: In function `lz4hc_mod_init': > lz4hc.c:(.init.text+0xf): undefined reference to `crypto_register_alg' > lz4hc.c:(.init.text+0x1f): undefined reference to `crypto_register_scomp' > lz4hc.c:(.init.text+0x2f): undefined reference to `crypto_unregister_alg' > > The problem is that with CONFIG_CRYPTO=m, we must not 'select CRYPTO_LZ4' > from a bool symbol, or call crypto API functions from a built-in > module. > > This turns the sub-options into 'tristate' ones so the dependencies > are honored, and makes the pstore itself select the crypto core > if necessary. > > Fixes: cb3bee0369bc ("pstore: Use crypto compress API") > Signed-off-by: Arnd Bergmann <a...@arndb.de>
Ah, thanks for this! I'm running it through tests now and should be in -next shortly. -Kees -- Kees Cook Pixel Security