Re: [PATCH] smb: fix smbdirect link failure

Stefan Metzmacher <[email protected]> Fri, 6 Mar 2026 16:29:50 +0100
Newsgroups gmane.linux.kernel,gmane.linux.kernel.cifs,gmane.network.samba.internals
Message-ID <[email protected]>
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