Re: [PATCH] cifs: fix panic in smb2_reconnect

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ronnie Sahlberg <lsahlber@xxxxxxxxxx> writes:
> diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c
> index 565b60b62f4d..c4f3e2403b58 100644
> --- a/fs/cifs/smb2pdu.c
> +++ b/fs/cifs/smb2pdu.c
> @@ -3116,6 +3116,7 @@ void smb2_reconnect_server(struct work_struct *work)

I would add a comment here. Something like:

    /* IPC has the same lifetime as its session and uses its
       refcount */

>  		if (ses->tcon_ipc && ses->tcon_ipc->need_reconnect) {
>  			list_add_tail(&ses->tcon_ipc->rlist, &tmp_list);
>  			tcon_exist = true;
> +			ses->ses_count++;
>  		}
>  	}
>  	/*
> @@ -3134,6 +3135,8 @@ void smb2_reconnect_server(struct work_struct *work)
>  		else
>  			resched = true;
>  		list_del_init(&tcon->rlist);
> +		if (tcon->ipc)
> +			cifs_put_smb_ses(tcon->ses);
>  		cifs_put_tcon(tcon);

Since cifs_put_tcon() is a noop on IPC this looks correct but I think an
putting it in an "else" would make the logic clearer.

Reviewed-by: Aurelien Aptel <aaptel@xxxxxxxx>

-- 
Aurélien Aptel / SUSE Labs Samba Team
GPG: 1839 CB5F 9F5B FB9B AA97  8C99 03C8 A49B 521B D5D3
SUSE Linux GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 21284 (AG Nürnberg)



[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux