Commit 65e2a74c authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Jens Axboe

nvme: target: fix Kconfig select statements

When the NVME target code is built-in but its TCP frontend is a loadable
module, enabling keyring support causes a link failure:

x86_64-linux-ld: vmlinux.o: in function `nvmet_ports_make':
configfs.c:(.text+0x100a2110): undefined reference to `nvme_keyring_id'

The problem is that CONFIG_NVME_TARGET_TCP_TLS is a 'bool' symbol that
depends on the tristate CONFIG_NVME_TARGET_TCP, so any 'select' from
it inherits the state of the tristate symbol rather than the intended
CONFIG_NVME_TARGET one that contains the actual call.

The same thing is true for CONFIG_KEYS, which itself is required for
NVME_KEYRING.
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20231122224719.4042108-3-arnd@kernel.orgSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent d78abcba
...@@ -4,6 +4,8 @@ config NVME_TARGET ...@@ -4,6 +4,8 @@ config NVME_TARGET
tristate "NVMe Target support" tristate "NVMe Target support"
depends on BLOCK depends on BLOCK
depends on CONFIGFS_FS depends on CONFIGFS_FS
select NVME_KEYRING if NVME_TARGET_TCP_TLS
select KEYS if NVME_TARGET_TCP_TLS
select BLK_DEV_INTEGRITY_T10 if BLK_DEV_INTEGRITY select BLK_DEV_INTEGRITY_T10 if BLK_DEV_INTEGRITY
select SGL_ALLOC select SGL_ALLOC
help help
...@@ -87,9 +89,7 @@ config NVME_TARGET_TCP ...@@ -87,9 +89,7 @@ config NVME_TARGET_TCP
config NVME_TARGET_TCP_TLS config NVME_TARGET_TCP_TLS
bool "NVMe over Fabrics TCP target TLS encryption support" bool "NVMe over Fabrics TCP target TLS encryption support"
depends on NVME_TARGET_TCP depends on NVME_TARGET_TCP
select NVME_KEYRING
select NET_HANDSHAKE select NET_HANDSHAKE
select KEYS
help help
Enables TLS encryption for the NVMe TCP target using the netlink handshake API. Enables TLS encryption for the NVMe TCP target using the netlink handshake API.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment