cifs: fix hang on cifs_get_next_mid()
authorEnzo Matsumiya <ematsumiya@suse.de>
Fri, 7 Jan 2022 22:51:39 +0000 (19:51 -0300)
committerSteve French <stfrench@microsoft.com>
Sat, 8 Jan 2022 02:07:11 +0000 (20:07 -0600)
Mount will hang if using SMB1 and DFS.

This is because every call to get_next_mid() will, unconditionally,
mark tcpStatus to CifsNeedReconnect before even establishing the
initial connect, because "reconnect" variable was not initialized.

Initializing "reconnect" to false fix this issue.

Fixes: 220c5bc25d87 ("cifs: take cifs_tcp_ses_lock for status checks")
Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/smb1ops.c

index 54319a7..6364c09 100644 (file)
@@ -163,7 +163,7 @@ cifs_get_next_mid(struct TCP_Server_Info *server)
 {
        __u64 mid = 0;
        __u16 last_mid, cur_mid;
-       bool collision, reconnect;
+       bool collision, reconnect = false;
 
        spin_lock(&GlobalMid_Lock);