]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
cifs: fix smb1 mount regression
authorPaulo Alcantara <pc@manguebit.com>
Tue, 23 May 2023 20:38:38 +0000 (17:38 -0300)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 9 Aug 2023 09:38:15 +0000 (11:38 +0200)
BugLink: https://bugs.launchpad.net/bugs/2028979
commit 72a7804a667eeac98888610521179f0418883158 upstream.

cifs.ko maps NT_STATUS_NOT_FOUND to -EIO when SMB1 servers couldn't
resolve referral paths.  Proceed to tree connect when we get -EIO from
dfs_get_referral() as well.

Reported-by: Kris Karas (Bug Reporting) <bugs-a21@moonlit-rail.com>
Tested-by: Woody Suwalski <terraluna977@gmail.com>
Fixes: 8e3554150d6c ("cifs: fix sharing of DFS connections")
Cc: stable@vger.kernel.org # v6.2+
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
fs/cifs/dfs.c

index a93dbca1411b25b941703d06eb795e54b37a37d8..2f93bf8c3325ac3d090600a21e3e660306dbc74c 100644 (file)
@@ -303,7 +303,7 @@ int dfs_mount_share(struct cifs_mount_ctx *mnt_ctx, bool *isdfs)
        if (!nodfs) {
                rc = dfs_get_referral(mnt_ctx, ctx->UNC + 1, NULL, NULL);
                if (rc) {
-                       if (rc != -ENOENT && rc != -EOPNOTSUPP)
+                       if (rc != -ENOENT && rc != -EOPNOTSUPP && rc != -EIO)
                                goto out;
                        nodfs = true;
                }