Re: [PATCH] smb: fix smbdirect link failure

From: Stefan Metzmacher

Date: Fri Mar 06 2026 - 10:36:49 EST


Hi Arnd,

When CONFIG_INFINIBAND is set to =m, it is not possible to have SMBDIRECT
built-in, and it turns into a loadable module, but this does not prevent
CIFS and SMB_SERVER from being built-in, which in turn causes this
link error:

ld.lld-22: error: undefined symbol: smbdirect_socket_release
referenced by smbdirect.c:212 (fs/smb/client/smbdirect.c:212)
fs/smb/client/smbdirect.o:(smbd_destroy) in archive vmlinux.a
referenced by smbdirect.c:212 (fs/smb/client/smbdirect.c:212)
fs/smb/client/smbdirect.o:(smbd_reconnect) in archive vmlinux.a
referenced by smbdirect.c:338 (fs/smb/client/smbdirect.c:338)
fs/smb/client/smbdirect.o:(smbd_get_connection) in archive vmlinux.a

Enforce the dependency at Kconfig level, so that the respective smpdirect
options are only offered if it's possible to link against the common
module and infiniband.

Fixes: 28504d6ee127 ("smb: client: make use of smbdirect.ko")

Thanks for the fix!

Steve can you put that an top of ksmbd-for-next for the moment.
Then I'll squash the hunks in the correct patch and provide
a new branch, as the 2nd would have:

Fixes: 30807ad55601 ("smb: server: make use of smbdirect.ko")

But both hashes are unlikely be the ones landing upstream,
so as we do rebase anyway I'd squash them, but maybe
I'll have time for the rebase after -rc4.

So we should take it as is for now, but maybe without the
Fixes tag, but acked by me.

Thanks!
metze