summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/iov_iter.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index 01b6b004d549..23b1709ff1a1 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -839,6 +839,7 @@ size_t copy_folio_from_iter_atomic(struct folio *folio, size_t offset,
if (WARN_ON_ONCE(!i->data_source))
return 0;
+#ifdef CONFIG_HIGHMEM
while (bytes) {
struct page *page = folio_page(folio, offset >> PAGE_SHIFT);
unsigned b = min(bytes, PAGE_SIZE - (offset & PAGE_MASK));
@@ -851,6 +852,9 @@ size_t copy_folio_from_iter_atomic(struct folio *folio, size_t offset,
if (r != b)
break;
}
+#else
+ ret = __copy_page_from_iter_atomic(&folio->page, offset, bytes, i);
+#endif
return ret;
}