On Sun, Mar 10, 2019 at 11:08:10PM +0100, Remy Oudompheng wrote:
From: Ronnie Sahlberg lsahlber@redhat.com
commit 32a1fb36f6e50183871c2c1fcf5493c633e84732 upstream.
Change these free functions to allow passing NULL as the argument and treat it as a no-op just like free(NULL) would. Or, if rqst->rq_iov is NULL.
The second scenario could happen for smb2_queryfs() if the call to SMB2_query_info_init() fails and we go to qfs_exit to clean up and free all resources. In that case we have not yet assigned rqst[2].rq_iov and thus the rq_iov dereference in SMB2_close_free() will cause a NULL pointer dereference.
[ bp: upstream patch also fixes SMB2_set_info_free which was introduced in 4.20 ]
Fixes: 1eb9fb52040f ("cifs: create SMB2_open_init()/SMB2_open_free() helpers")
Signed-off-by: Ronnie Sahlberg lsahlber@redhat.com Signed-off-by: Steve French stfrench@microsoft.com Reviewed-by: Aurelien Aptel aaptel@suse.com CC: Stable stable@vger.kernel.org
fs/cifs/smb2pdu.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-)
Now applied, thanks.
greg k-h