[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ZuBa-nuGAPs7aHK_@kbusch-mbp>
Date: Tue, 10 Sep 2024 08:43:06 -0600
From: Keith Busch <kbusch@...nel.org>
To: Arnd Bergmann <arnd@...nel.org>
Cc: Jens Axboe <axboe@...nel.dk>, Christoph Hellwig <hch@....de>,
Sagi Grimberg <sagi@...mberg.me>, Hannes Reinecke <hare@...nel.org>,
Arnd Bergmann <arnd@...db.de>, Kanchan Joshi <joshi.k@...sung.com>,
Shin'ichiro Kawasaki <shinichiro.kawasaki@....com>,
linux-nvme@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] nvme-tcp: fix link failure for TCP auth
On Mon, Sep 09, 2024 at 08:21:09PM +0000, Arnd Bergmann wrote:
> 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.
Thanks, applied to nvme-6.12.
I even try to test for these odd module vs built-in scenarios, but I
missed this one. :(
> It may alternatively be possible to rework the code so the
> keyring is only referenced when CONFIG_NVME_HOST_AUTH is also
> set, but this version is simpler and leaves the code unchanged.
That sounds like a cleaner solution longer term, but I agree your patch
is the simpler way to handle the breakage.
Powered by blists - more mailing lists