]> Git Repo - linux.git/commit
nvme: keyring: fix conditional compilation
authorHannes Reinecke <[email protected]>
Thu, 26 Oct 2023 13:08:04 +0000 (15:08 +0200)
committerKeith Busch <[email protected]>
Wed, 8 Nov 2023 16:07:08 +0000 (08:07 -0800)
commit706add13676da7ad213b65e92b94af5efc8c4131
treeac4e547c3939ff165871e81d369d5caae0fec82a
parent6affe08aea5f3b630565676e227b41d55a6f009c
nvme: keyring: fix conditional compilation

The keyring and auth functions can be called from both the host and
the target side and are controlled by Kconfig options for each of the
combinations, but the declarations are controlled by #ifdef checks
on the shared Kconfig symbols.

This leads to link failures in combinations where one of the frontends
is built-in and the other one is a module, and the keyring code
ends up in a module that is not reachable from the builtin code:

ld: drivers/nvme/host/core.o: in function `nvme_core_exit':
core.c:(.exit.text+0x4): undefined reference to `nvme_keyring_exit'
ld: drivers/nvme/host/core.o: in function `nvme_core_init':
core.c:(.init.text+0x94): undefined reference to `nvme_keyring_init

ld: drivers/nvme/host/tcp.o: in function `nvme_tcp_setup_ctrl':
tcp.c:(.text+0x4c18): undefined reference to `nvme_tls_psk_default'

Address this by moving nvme_keyring_init()/nvme_keyring_exit() into
module init/exit functions for the keyring module.

Fixes: be8e82caa6859 ("nvme-tcp: enable TLS handshake upcall")
Signed-off-by: Hannes Reinecke <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Keith Busch <[email protected]>
drivers/nvme/common/keyring.c
drivers/nvme/host/core.c
include/linux/nvme-keyring.h
This page took 0.059074 seconds and 4 git commands to generate.