]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
cifs: Fix oops due to uninitialised variable
authorDavid Howells <dhowells@redhat.com>
Tue, 19 Aug 2025 15:27:36 +0000 (16:27 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Aug 2025 14:34:47 +0000 (16:34 +0200)
[ Upstream commit 453a6d2a68e54a483d67233c6e1e24c4095ee4be ]

Fix smb3_init_transform_rq() to initialise buffer to NULL before calling
netfs_alloc_folioq_buffer() as netfs assumes it can append to the buffer it
is given.  Setting it to NULL means it should start a fresh buffer, but the
value is currently undefined.

Fixes: a2906d3316fc ("cifs: Switch crypto buffer to use a folio_queue rather than an xarray")
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Steve French <sfrench@samba.org>
cc: Paulo Alcantara <pc@manguebit.org>
cc: linux-cifs@vger.kernel.org
cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/smb/client/smb2ops.c

index 4bb065a6fbaa7d9d108a47726e50b7179091598c..d3e09b10dea476619bea76010e201c0495d26b5e 100644 (file)
@@ -4496,7 +4496,7 @@ smb3_init_transform_rq(struct TCP_Server_Info *server, int num_rqst,
        for (int i = 1; i < num_rqst; i++) {
                struct smb_rqst *old = &old_rq[i - 1];
                struct smb_rqst *new = &new_rq[i];
-               struct folio_queue *buffer;
+               struct folio_queue *buffer = NULL;
                size_t size = iov_iter_count(&old->rq_iter);
 
                orig_len += smb_rqst_len(server, old);