diff mbox series

cifs: uninitialized variable in cifs_get_next_mid()

Message ID 20220111071716.GC11243@kili (mailing list archive)
State New, archived
Headers show
Series cifs: uninitialized variable in cifs_get_next_mid() | expand

Commit Message

Dan Carpenter Jan. 11, 2022, 7:17 a.m. UTC
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(-)

Comments

Steve French Jan. 11, 2022, 9:40 p.m. UTC | #1
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 mbox series

Patch

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);