[ Upstream commit 05fd5c2c61732152a6bddc318aae62d7e436629b ]

Commit 088aaf17aa79300cab14dbee2569c58cfafd7d6e introduced a leak where
if SMB2_read() returned an error we would return without freeing the
request buffer.

Cc: Stable <sta...@vger.kernel.org>
Signed-off-by: Ronnie Sahlberg <lsahl...@redhat.com>
Reviewed-by: Pavel Shilovsky <pshi...@microsoft.com>
Signed-off-by: Steve French <stfre...@microsoft.com>
Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>
---
 fs/cifs/smb2pdu.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c
index fd2d199dd413e..7936eac5a38a2 100644
--- a/fs/cifs/smb2pdu.c
+++ b/fs/cifs/smb2pdu.c
@@ -2699,6 +2699,7 @@ SMB2_read(const unsigned int xid, struct cifs_io_parms 
*io_parms,
                        cifs_dbg(VFS, "Send error in read = %d\n", rc);
                }
                free_rsp_buf(resp_buftype, rsp_iov.iov_base);
+               cifs_small_buf_release(req);
                return rc == -ENODATA ? 0 : rc;
        }
 
-- 
2.20.1



Reply via email to