smb: client: fix DFS interlink failover
authorPaulo Alcantara <pc@manguebit.com>
Wed, 18 Sep 2024 05:03:55 +0000 (02:03 -0300)
committerSteve French <stfrench@microsoft.com>
Wed, 25 Sep 2024 02:51:48 +0000 (21:51 -0500)
commit4f42a8b54b5c6e36519aef3cb1f6210e54abd451
treef67f09ee1ac482d540a5c85e2ace5cae7bcb423d
parent9190cc0c97aafdae06015d468c6ca3991e32a23a
smb: client: fix DFS interlink failover

The DFS interlinks point to different DFS namespaces so make sure to
use the correct DFS root server to chase any DFS links under it by
storing the SMB session in dfs_ref_walk structure and then using it on
every referral walk.

Signed-off-by: Paulo Alcantara (Red Hat) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/cifsglob.h
fs/smb/client/cifsproto.h
fs/smb/client/connect.c
fs/smb/client/dfs.c
fs/smb/client/dfs.h
fs/smb/client/dfs_cache.c
fs/smb/client/fs_context.h
fs/smb/client/misc.c
fs/smb/client/namespace.c