Re: [PATCH] cifs: Fix oops due to uninitialised variable

From: Steve French
Date: Tue Aug 19 2025 - 12:23:35 EST


merged into cifs-2.6.git for-next

On Tue, Aug 19, 2025 at 10:28 AM David Howells <dhowells@xxxxxxxxxx> wrote:
>
> 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@xxxxxxxxxx>
> cc: Steve French <sfrench@xxxxxxxxx>
> cc: Paulo Alcantara <pc@xxxxxxxxxxxxx>
> cc: linux-cifs@xxxxxxxxxxxxxxx
> cc: linux-fsdevel@xxxxxxxxxxxxxxx
> ---
> fs/smb/client/smb2ops.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c
> index ad8947434b71..cd0c9b5a35c3 100644
> --- a/fs/smb/client/smb2ops.c
> +++ b/fs/smb/client/smb2ops.c
> @@ -4487,7 +4487,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);
>
>


--
Thanks,

Steve