Message ID | 20220111071716.GC11243@kili (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | cifs: uninitialized variable in cifs_get_next_mid() | expand |
That was fixed similarly a couple of days ago by a patch from Enzo commit 1913e1116a3174648cf2e6faedf29204f31cc438 Author: Enzo Matsumiya <ematsumiya@suse.de> Date: Fri Jan 7 19:51:39 2022 -0300 cifs: fix hang on cifs_get_next_mid() 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. On Tue, Jan 11, 2022 at 5:03 AM Dan Carpenter via samba-technical <samba-technical@lists.samba.org> wrote: > > The "reconnect" was never initialized to false. > > Fixes: 220c5bc25d87 ("cifs: take cifs_tcp_ses_lock for status checks") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > --- > fs/cifs/smb1ops.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/cifs/smb1ops.c b/fs/cifs/smb1ops.c > index 54319a789c92..6b1b048b36ae 100644 > --- a/fs/cifs/smb1ops.c > +++ b/fs/cifs/smb1ops.c > @@ -163,7 +163,8 @@ cifs_get_next_mid(struct TCP_Server_Info *server) > { > __u64 mid = 0; > __u16 last_mid, cur_mid; > - bool collision, reconnect; > + bool reconnect = false; > + bool collision; > > spin_lock(&GlobalMid_Lock); > > -- > 2.20.1 > >
diff --git a/fs/cifs/smb1ops.c b/fs/cifs/smb1ops.c index 54319a789c92..6b1b048b36ae 100644 --- a/fs/cifs/smb1ops.c +++ b/fs/cifs/smb1ops.c @@ -163,7 +163,8 @@ cifs_get_next_mid(struct TCP_Server_Info *server) { __u64 mid = 0; __u16 last_mid, cur_mid; - bool collision, reconnect; + bool reconnect = false; + bool collision; spin_lock(&GlobalMid_Lock);
The "reconnect" was never initialized to false. Fixes: 220c5bc25d87 ("cifs: take cifs_tcp_ses_lock for status checks") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- fs/cifs/smb1ops.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)