summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-03-19 18:48:05 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2023-03-19 18:48:05 -0400
commit7dd2c1bf873fadf8fe453d13cf5dee3331cd3236 (patch)
tree64d72d92bede8a366436502e197eb1364b49754f
parent9430449027c68ac9d25d1289371a0a2fcbc5bf26 (diff)
fixup! iov_iter: copy_folio_from_iter_atomic()copy_folio_from_iter_atomic
-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;
}