diff options
author | Paulo Alcantara <pc@manguebit.com> | 2023-03-14 20:32:56 -0300 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2023-03-14 22:48:53 -0500 |
commit | 6284e46bdd47743a064fe6ac834a7ac05b1fd206 (patch) | |
tree | d4af34cf76074244b91c12ed49b8911be48a378d /fs | |
parent | f446a630802f154ef0087771683bd4f8e9d08384 (diff) | |
download | linux-stable-6284e46bdd47743a064fe6ac834a7ac05b1fd206.tar.gz linux-stable-6284e46bdd47743a064fe6ac834a7ac05b1fd206.tar.bz2 linux-stable-6284e46bdd47743a064fe6ac834a7ac05b1fd206.zip |
cifs: use DFS root session instead of tcon ses
Use DFS root session whenever possible to get new DFS referrals
otherwise we might end up with an IPC tcon (tcon->ses->tcon_ipc) that
doesn't respond to them. It should be safe accessing
@ses->dfs_root_ses directly in cifs_inval_name_dfs_link_error() as it
has same lifetime as of @tcon.
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Cc: stable@vger.kernel.org # 6.2
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/cifs/misc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cifs/misc.c b/fs/cifs/misc.c index 6f9c78650528..b44fb51968bf 100644 --- a/fs/cifs/misc.c +++ b/fs/cifs/misc.c @@ -1262,6 +1262,7 @@ int cifs_inval_name_dfs_link_error(const unsigned int xid, * removing cached DFS targets that the client would eventually * need during failover. */ + ses = CIFS_DFS_ROOT_SES(ses); if (ses->server->ops->get_dfs_refer && !ses->server->ops->get_dfs_refer(xid, ses, ref_path, &refs, &num_refs, cifs_sb->local_nls, |