Lines Matching refs:page
326 static inline bool page_copy_sane(struct page *page, size_t offset, size_t n) in page_copy_sane() argument
328 struct page *head; in page_copy_sane()
341 head = compound_head(page); in page_copy_sane()
342 v += (page - head) << PAGE_SHIFT; in page_copy_sane()
349 size_t copy_page_to_iter(struct page *page, size_t offset, size_t bytes, in copy_page_to_iter() argument
353 if (!page_copy_sane(page, offset, bytes)) in copy_page_to_iter()
357 page += offset / PAGE_SIZE; // first subpage in copy_page_to_iter()
360 void *kaddr = kmap_local_page(page); in copy_page_to_iter()
370 page++; in copy_page_to_iter()
378 size_t copy_page_to_iter_nofault(struct page *page, unsigned offset, size_t bytes, in copy_page_to_iter_nofault() argument
383 if (!page_copy_sane(page, offset, bytes)) in copy_page_to_iter_nofault()
387 page += offset / PAGE_SIZE; // first subpage in copy_page_to_iter_nofault()
390 void *kaddr = kmap_local_page(page); in copy_page_to_iter_nofault()
403 page++; in copy_page_to_iter_nofault()
411 size_t copy_page_from_iter(struct page *page, size_t offset, size_t bytes, in copy_page_from_iter() argument
415 if (!page_copy_sane(page, offset, bytes)) in copy_page_from_iter()
417 page += offset / PAGE_SIZE; // first subpage in copy_page_from_iter()
420 void *kaddr = kmap_local_page(page); in copy_page_from_iter()
430 page++; in copy_page_from_iter()
465 if (!page_copy_sane(&folio->page, offset, bytes)) in copy_folio_from_iter_atomic()
980 static int want_pages_array(struct page ***res, size_t size, in want_pages_array()
989 *res = kvmalloc_array(count, sizeof(struct page *), GFP_KERNEL); in want_pages_array()
997 struct page ***ppages, size_t maxsize, in iter_folioq_get_pages()
1001 struct page **pages; in iter_folioq_get_pages()
1055 static ssize_t iter_xarray_populate_pages(struct page **pages, struct xarray *xa, in iter_xarray_populate_pages()
1083 struct page ***pages, size_t maxsize, in iter_xarray_get_pages()
1131 static struct page *first_bvec_segment(const struct iov_iter *i, in first_bvec_segment()
1134 struct page *page; in first_bvec_segment() local
1141 page = i->bvec->bv_page + skip / PAGE_SIZE; in first_bvec_segment()
1143 return page; in first_bvec_segment()
1147 struct page ***pages, size_t maxsize, in __iov_iter_get_pages_alloc()
1182 struct page **p; in __iov_iter_get_pages_alloc()
1183 struct page *page; in __iov_iter_get_pages_alloc() local
1185 page = first_bvec_segment(i, &maxsize, start); in __iov_iter_get_pages_alloc()
1191 struct folio *folio = page_folio(page + k); in __iov_iter_get_pages_alloc()
1192 p[k] = page + k; in __iov_iter_get_pages_alloc()
1213 ssize_t iov_iter_get_pages2(struct iov_iter *i, struct page **pages, in iov_iter_get_pages2()
1225 struct page ***pages, size_t maxsize, size_t *start) in iov_iter_get_pages_alloc2()
1583 struct page ***pages, size_t maxsize, in iov_iter_extract_folioq_pages()
1589 struct page **p; in iov_iter_extract_folioq_pages()
1645 struct page ***pages, size_t maxsize, in iov_iter_extract_xarray_pages()
1650 struct page **p; in iov_iter_extract_xarray_pages()
1691 struct page ***pages, size_t maxsize, in iov_iter_extract_bvec_pages()
1758 struct page ***pages, size_t maxsize, in iov_iter_extract_kvec_pages()
1763 struct page **p, *page; in iov_iter_extract_kvec_pages() local
1795 page = vmalloc_to_page(kaddr); in iov_iter_extract_kvec_pages()
1797 page = virt_to_page(kaddr); in iov_iter_extract_kvec_pages()
1799 p[k] = page; in iov_iter_extract_kvec_pages()
1822 struct page ***pages, in iov_iter_extract_user_pages()
1898 struct page ***pages, in iov_iter_extract_pages()