]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
scatterlist: Fix offset in folio calc in extract_xarray_to_sg()
authorDavid Howells <dhowells@redhat.com>
Thu, 25 Jun 2026 14:06:27 +0000 (15:06 +0100)
committerChristian Brauner <brauner@kernel.org>
Wed, 1 Jul 2026 13:26:29 +0000 (15:26 +0200)
Fix the calculation of the offset in the folio being extracted in
extract_xarray_to_sg().

Note that in the near future, ITER_XARRAY should be removed.

Fixes: f5f82cd18732 ("Move netfs_extract_iter_to_sg() to lib/scatterlist.c")
Link: https://sashiko.dev/#/patchset/20260608145432.681865-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells@redhat.com>
Link: https://patch.msgid.link/20260625140640.3116900-10-dhowells@redhat.com
Reviewed-by: Christoph Hellwig <hch@lst.de>
cc: Paulo Alcantara <pc@manguebit.org>
cc: Matthew Wilcox <willy@infradead.org>
cc: Christoph Hellwig <hch@infradead.org>
cc: Jens Axboe <axboe@kernel.dk>
cc: Mike Marshall <hubcap@omnibond.com>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
lib/scatterlist.c

index b7fe91ef35b8c6ab758bf9e9aff20e885d02ab21..6ea40d2e6247555203d20b2f1c13c74c21c4da30 100644 (file)
@@ -1366,6 +1366,7 @@ static ssize_t extract_xarray_to_sg(struct iov_iter *iter,
                sg_max--;
 
                maxsize -= len;
+               start += len;
                ret += len;
                if (maxsize <= 0 || sg_max == 0)
                        break;