Skip to content
Snippets Groups Projects
Commit 65e2a74c authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Jens Axboe
Browse files

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+0x100a211): 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.org


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent d78abcba
No related branches found
No related tags found
No related merge requests found
...@@ -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.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment