On Fri, 2023-03-31 at 17:08 +0100, David Howells wrote: > Fix netfs_extract_iter_to_sg() for ITER_UBUF and ITER_IOVEC to set the size > of the page to the part of the page extracted, not the remaining amount of > data in the extracted page array at that point. > > This doesn't yet affect anything as cifs, the only current user, only > passes in non-user-backed iterators. > > Fixes: 018584697533 ("netfs: Add a function to extract an iterator into a scatterlist") > Signed-off-by: David Howells <dhowells@xxxxxxxxxx> > cc: Jeff Layton <jlayton@xxxxxxxxxx> > cc: Steve French <sfrench@xxxxxxxxx> > cc: Shyam Prasad N <nspmangalore@xxxxxxxxx> > cc: Rohith Surabattula <rohiths.msft@xxxxxxxxx> > cc: linux-cachefs@xxxxxxxxxx > cc: linux-cifs@xxxxxxxxxxxxxxx > cc: linux-fsdevel@xxxxxxxxxxxxxxx > --- > fs/netfs/iterator.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/netfs/iterator.c b/fs/netfs/iterator.c > index e9a45dea748a..8a4c86687429 100644 > --- a/fs/netfs/iterator.c > +++ b/fs/netfs/iterator.c > @@ -139,7 +139,7 @@ static ssize_t netfs_extract_user_to_sg(struct iov_iter *iter, > size_t seg = min_t(size_t, PAGE_SIZE - off, len); > > *pages++ = NULL; > - sg_set_page(sg, page, len, off); > + sg_set_page(sg, page, seg, off); > sgtable->nents++; > sg++; > len -= seg; > Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx>