summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/iov_iter.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index 8c6cdc1cf832..c78129e709f2 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -1386,15 +1386,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;