]> www.infradead.org Git - users/hch/misc.git/commitdiff
smb311 client: fix missing tcon check when mounting with linux/posix extensions
authorSteve French <stfrench@microsoft.com>
Sun, 6 Apr 2025 19:09:19 +0000 (14:09 -0500)
committerSteve French <stfrench@microsoft.com>
Mon, 7 Apr 2025 06:08:07 +0000 (01:08 -0500)
When mounting the same share twice, once with the "linux" mount parameter
(or equivalently "posix") and then once without (or e.g. with "nolinux"),
we were incorrectly reusing the same tree connection for both mounts.
This meant that the first mount of the share on the client, would
cause subsequent mounts of that same share on the same client to
ignore that mount parm ("linux" vs. "nolinux") and incorrectly reuse
the same tcon.

Cc: stable@vger.kernel.org
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/connect.c

index f298e86a3c1fdb7b1143e8755a49d234e8f0874a..4a0b2d220fe84e25c32c0145218cb451be2f0cad 100644 (file)
@@ -2556,6 +2556,8 @@ static int match_tcon(struct cifs_tcon *tcon, struct smb3_fs_context *ctx)
                return 0;
        if (tcon->nodelete != ctx->nodelete)
                return 0;
+       if (tcon->posix_extensions != ctx->linux_ext)
+               return 0;
        return 1;
 }