diff options
Diffstat (limited to 'lib/iov_iter.c')
-rw-r--r-- | lib/iov_iter.c | 4 |
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; } |