]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
netfs: Fix potential uninitialised var in netfs_extract_user_iter()
authorDavid Howells <dhowells@redhat.com>
Tue, 12 May 2026 12:33:45 +0000 (13:33 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 May 2026 11:05:02 +0000 (13:05 +0200)
commit 7e3d8db899d54af39fafb2eb3392b0cdae9973b5 upstream.

In netfs_extract_user_iter(), if it's given a zero-length iterator, it will
fall through the loop without setting ret, and so the error handling
behaviour will be undefined, depending on whether ret happens to be
negative.  The value of ret then propagates back up the callstack.

Fix this by presetting ret to 0.

Fixes: 85dd2c8ff368 ("netfs: Add a function to extract a UBUF or IOVEC into a BVEC iterator")
Closes: https://sashiko.dev/#/patchset/20260414082004.3756080-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells@redhat.com>
Link: https://patch.msgid.link/20260512123404.719402-9-dhowells@redhat.com
cc: Paulo Alcantara <pc@manguebit.org>
cc: Matthew Wilcox <willy@infradead.org>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/netfs/iterator.c

index adca78747f239302525ef6ebd497a352d94623f5..429e4396e1b00000abc5f8cd32be39178ecf7541 100644 (file)
@@ -43,7 +43,7 @@ ssize_t netfs_extract_user_iter(struct iov_iter *orig, size_t orig_len,
        unsigned int max_pages;
        unsigned int npages = 0;
        unsigned int i;
-       ssize_t ret;
+       ssize_t ret = 0;
        size_t count = orig_len, offset, len;
        size_t bv_size, pg_size;