Skip to content

Commit

Permalink
nvme: common: make keyring and auth separate modules
Browse files Browse the repository at this point in the history
When only the keyring module is included but auth is not, modpost
complains about the lack of a module license tag:

ERROR: modpost: missing MODULE_LICENSE() in drivers/nvme/common/nvme-common.o

Address this by making both modules buildable standalone,
removing the now unnecessary CONFIG_NVME_COMMON symbol
in the process.

Also, now that NVME_KEYRING config symbol can be either a module or
built-in, the stubs need to check for '#if IS_ENABLED' rather than a
simple '#ifdef'.

Fixes: 9d77eb5 ("nvme-keyring: register '.nvme' keyring")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
  • Loading branch information
Arnd Bergmann authored and Keith Busch committed Nov 7, 2023
1 parent 4733b65 commit 6affe08
Show file tree
Hide file tree
Showing 7 changed files with 10 additions and 14 deletions.
2 changes: 1 addition & 1 deletion drivers/nvme/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-2.0-only

obj-$(CONFIG_NVME_COMMON) += common/
obj-y += common/
obj-y += host/
obj-y += target/
7 changes: 2 additions & 5 deletions drivers/nvme/common/Kconfig
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
# SPDX-License-Identifier: GPL-2.0-only

config NVME_COMMON
tristate

config NVME_KEYRING
bool
tristate
select KEYS

config NVME_AUTH
bool
tristate
select CRYPTO
select CRYPTO_HMAC
select CRYPTO_SHA256
Expand Down
7 changes: 4 additions & 3 deletions drivers/nvme/common/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

ccflags-y += -I$(src)

obj-$(CONFIG_NVME_COMMON) += nvme-common.o
obj-$(CONFIG_NVME_AUTH) += nvme-auth.o
obj-$(CONFIG_NVME_KEYRING) += nvme-keyring.o

nvme-common-$(CONFIG_NVME_AUTH) += auth.o
nvme-common-$(CONFIG_NVME_KEYRING) += keyring.o
nvme-auth-y += auth.o
nvme-keyring-y += keyring.o
2 changes: 2 additions & 0 deletions drivers/nvme/common/keyring.c
Original file line number Diff line number Diff line change
Expand Up @@ -180,3 +180,5 @@ void nvme_keyring_exit(void)
key_put(nvme_keyring);
}
EXPORT_SYMBOL_GPL(nvme_keyring_exit);

MODULE_LICENSE("GPL v2");
2 changes: 0 additions & 2 deletions drivers/nvme/host/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,6 @@ config NVME_TCP
config NVME_TCP_TLS
bool "NVMe over Fabrics TCP TLS encryption support"
depends on NVME_TCP
select NVME_COMMON
select NVME_KEYRING
select NET_HANDSHAKE
select KEYS
Expand All @@ -110,7 +109,6 @@ config NVME_TCP_TLS
config NVME_HOST_AUTH
bool "NVM Express over Fabrics In-Band Authentication"
depends on NVME_CORE
select NVME_COMMON
select NVME_AUTH
help
This provides support for NVMe over Fabrics In-Band Authentication.
Expand Down
2 changes: 0 additions & 2 deletions drivers/nvme/target/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@ config NVME_TARGET_TCP
config NVME_TARGET_TCP_TLS
bool "NVMe over Fabrics TCP target TLS encryption support"
depends on NVME_TARGET_TCP
select NVME_COMMON
select NVME_KEYRING
select NET_HANDSHAKE
select KEYS
Expand All @@ -102,7 +101,6 @@ config NVME_TARGET_TCP_TLS
config NVME_TARGET_AUTH
bool "NVMe over Fabrics In-band Authentication support"
depends on NVME_TARGET
select NVME_COMMON
select NVME_AUTH
help
This enables support for NVMe over Fabrics In-band Authentication
Expand Down
2 changes: 1 addition & 1 deletion include/linux/nvme-keyring.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#ifndef _NVME_KEYRING_H
#define _NVME_KEYRING_H

#ifdef CONFIG_NVME_KEYRING
#if IS_ENABLED(CONFIG_NVME_KEYRING)

key_serial_t nvme_tls_psk_default(struct key *keyring,
const char *hostnqn, const char *subnqn);
Expand Down

0 comments on commit 6affe08

Please sign in to comment.