diff options
author | Ronnie Sahlberg <lsahlber@redhat.com> | 2021-07-13 05:22:59 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-07-20 17:02:00 +0300 |
commit | c3e2f327959fe6acfe52875be410b1043e621c28 (patch) | |
tree | 2e6b68ea827ec09c3cf106f5c2c38dce2fd01492 /fs/cifs | |
parent | 6df445822cff00b1ce919e543312fd374be8e534 (diff) | |
download | linux-c3e2f327959fe6acfe52875be410b1043e621c28.tar.xz |
cifs: Do not use the original cruid when following DFS links for multiuser mounts
commit 50630b3f1ada0bf412d3f28e73bac310448d9d6f upstream.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=213565
cruid should only be used for the initial mount and after this we should use the current
users credentials.
Ignore the original cruid mount argument when creating a new context for a multiuser mount
following a DFS link.
Fixes: 24e0a1eff9e2 ("cifs: switch to new mount api")
Cc: stable@vger.kernel.org # 5.11+
Reported-by: Xiaoli Feng <xifeng@redhat.com>
Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/cifs')
-rw-r--r-- | fs/cifs/cifs_dfs_ref.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/cifs/cifs_dfs_ref.c b/fs/cifs/cifs_dfs_ref.c index 1e62882a2851..6988fe10b1a7 100644 --- a/fs/cifs/cifs_dfs_ref.c +++ b/fs/cifs/cifs_dfs_ref.c @@ -208,6 +208,10 @@ char *cifs_compose_mount_options(const char *sb_mountdata, else noff = tkn_e - (sb_mountdata + off) + 1; + if (strncasecmp(sb_mountdata + off, "cruid=", 6) == 0) { + off += noff; + continue; + } if (strncasecmp(sb_mountdata + off, "unc=", 4) == 0) { off += noff; continue; |