do not reuse connection if share marked as isolated

"SHAREFLAG_ISOLATED_TRANSPORT" indicates that we should not reuse the socket
for this share (for future mounts).  Mark the socket as server->nosharesock if
share flags returned include SHAREFLAG_ISOLATED_TRANSPORT.

See MS-SMB2 MS-SMB2 2.2.10 and 3.2.5.5

Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
Steve French 2023-05-07 17:57:17 -05:00
parent d66cde50c3
commit cbd4cbabef

View File

@ -1947,6 +1947,9 @@ SMB2_tcon(const unsigned int xid, struct cifs_ses *ses, const char *tree,
init_copy_chunk_defaults(tcon);
if (server->ops->validate_negotiate)
rc = server->ops->validate_negotiate(xid, tcon);
if (rc == 0) /* See MS-SMB2 2.2.10 and 3.2.5.5 */
if (tcon->share_flags & SMB2_SHAREFLAG_ISOLATED_TRANSPORT)
server->nosharesock = true;
tcon_exit:
free_rsp_buf(resp_buftype, rsp);