Commit bedee105 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Greg Kroah-Hartman
Browse files

firmware_loader: rework crypto dependencies



The crypto dependencies for the firmwware loader are incomplete,
in particular a built-in FW_LOADER fails to link against a modular
crypto hash driver:

ld.lld: error: undefined symbol: crypto_alloc_shash
ld.lld: error: undefined symbol: crypto_shash_digest
ld.lld: error: undefined symbol: crypto_destroy_tfm
>>> referenced by main.c
>>>               drivers/base/firmware_loader/main.o:(fw_log_firmware_info) in archive vmlinux.a

Rework this to use the usual 'select' from the driver module,
to respect the built-in vs module dependencies, and add a
more verbose crypto dependency to the debug option to prevent
configurations that lead to a link failure.

Fixes: 02fe26f2 ("firmware_loader: Add debug message with checksum for FW file")
Reviewed-by: default avatarAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Acked-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20230414080329.76176-1-arnd@kernel.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 495ff363
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -3,6 +3,8 @@ menu "Firmware loader"

config FW_LOADER
	tristate "Firmware loading facility" if EXPERT
	select CRYPTO_HASH if FW_LOADER_DEBUG
	select CRYPTO_SHA256 if FW_LOADER_DEBUG
	default y
	help
	  This enables the firmware loading facility in the kernel. The kernel
@@ -26,10 +28,9 @@ config FW_LOADER

config FW_LOADER_DEBUG
	bool "Log filenames and checksums for loaded firmware"
	depends on CRYPTO = FW_LOADER || CRYPTO=y
	depends on DYNAMIC_DEBUG
	depends on FW_LOADER
	depends on CRYPTO
	depends on CRYPTO_SHA256
	default FW_LOADER
	help
	  Select this option to use dynamic debug to log firmware filenames and