On Wed, 2022-06-22 at 05:15 +0100, Al Viro wrote: > Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > --- > lib/iov_iter.c | 10 +--------- > 1 file changed, 1 insertion(+), 9 deletions(-) > > diff --git a/lib/iov_iter.c b/lib/iov_iter.c > index 811fa09515d8..92a566f839f9 100644 > --- a/lib/iov_iter.c > +++ b/lib/iov_iter.c > @@ -1289,15 +1289,7 @@ static ssize_t iter_xarray_get_pages(struct iov_iter *i, > offset = pos & ~PAGE_MASK; > *_start_offset = offset; > > - count = 1; > - if (size > PAGE_SIZE - offset) { > - size -= PAGE_SIZE - offset; > - count += size >> PAGE_SHIFT; > - size &= ~PAGE_MASK; > - if (size) > - count++; > - } > - > + count = DIV_ROUND_UP(size + offset, PAGE_SIZE); > if (count > maxpages) > count = maxpages; > Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx>