]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
nvme-tcp: fix link failure for TCP auth
authorArnd Bergmann <arnd@arndb.de>
Mon, 9 Sep 2024 20:21:09 +0000 (20:21 +0000)
committerKeith Busch <kbusch@kernel.org>
Tue, 10 Sep 2024 14:41:07 +0000 (07:41 -0700)
The nvme fabric driver calls the nvme_tls_key_lookup() function from
nvmf_parse_key() when the keyring is enabled, but this is broken in a
configuration with CONFIG_NVME_FABRICS=y and CONFIG_NVME_TCP=m because
this leads to the function definition being in a loadable module:

x86_64-linux-ld: vmlinux.o: in function `nvmf_parse_key':
fabrics.c:(.text+0xb1bdec): undefined reference to `nvme_tls_key_lookup'

Move the 'select' up to CONFIG_NVME_FABRICS itself to force this
part to be built-in as well if needed.

Fixes: 5bc46b49c828 ("nvme-tcp: check for invalidated or revoked key")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/Kconfig

index 883aaab2d83e32b0f04f481102594b97334f6ab0..486afe598184545b036745dc000f23c7540ded68 100644 (file)
@@ -41,6 +41,7 @@ config NVME_HWMON
 
 config NVME_FABRICS
        select NVME_CORE
+       select NVME_KEYRING if NVME_TCP_TLS
        tristate
 
 config NVME_RDMA
@@ -94,7 +95,6 @@ config NVME_TCP
 config NVME_TCP_TLS
        bool "NVMe over Fabrics TCP TLS encryption support"
        depends on NVME_TCP
-       select NVME_KEYRING
        select NET_HANDSHAKE
        select KEYS
        help