2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00

cifs: Fix oops due to uninitialised variable

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: a2906d3316 ("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>
This commit is contained in:
David Howells 2025-08-19 16:27:36 +01:00 committed by Steve French
parent c17b750b3a
commit 453a6d2a68

View 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++) { for (int i = 1; i < num_rqst; i++) {
struct smb_rqst *old = &old_rq[i - 1]; struct smb_rqst *old = &old_rq[i - 1];
struct smb_rqst *new = &new_rq[i]; 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); size_t size = iov_iter_count(&old->rq_iter);
orig_len += smb_rqst_len(server, old); orig_len += smb_rqst_len(server, old);