Lines Matching refs:gup_flags

858 		unsigned int gup_flags, struct vm_area_struct **vma,  in get_gate_page()  argument
870 if (gup_flags & FOLL_WRITE) in get_gate_page()
898 if ((gup_flags & FOLL_DUMP) || !is_zero_pfn(pte_pfn(entry))) in get_gate_page()
902 ret = try_grab_page(*page, gup_flags); in get_gate_page()
1013 unsigned long gup_flags) in writable_file_mapping_allowed() argument
1019 if ((gup_flags & (FOLL_PIN | FOLL_LONGTERM)) != in writable_file_mapping_allowed()
1030 static int check_vma_flags(struct vm_area_struct *vma, unsigned long gup_flags) in check_vma_flags() argument
1033 int write = (gup_flags & FOLL_WRITE); in check_vma_flags()
1034 int foreign = (gup_flags & FOLL_REMOTE); in check_vma_flags()
1040 if ((gup_flags & FOLL_ANON) && !vma_anon) in check_vma_flags()
1043 if ((gup_flags & FOLL_LONGTERM) && vma_is_fsdax(vma)) in check_vma_flags()
1051 !writable_file_mapping_allowed(vma, gup_flags)) in check_vma_flags()
1055 if (!(gup_flags & FOLL_FORCE)) in check_vma_flags()
1073 if (!(gup_flags & FOLL_FORCE)) in check_vma_flags()
1186 unsigned int gup_flags, struct page **pages, in __get_user_pages() argument
1198 VM_BUG_ON(!!pages != !!(gup_flags & (FOLL_GET | FOLL_PIN))); in __get_user_pages()
1202 unsigned int foll_flags = gup_flags; in __get_user_pages()
1210 gup_flags, &vma, in __get_user_pages()
1222 ret = check_vma_flags(vma, gup_flags); in __get_user_pages()
1627 int gup_flags; in populate_vma_page_range() local
1643 gup_flags = FOLL_TOUCH; in populate_vma_page_range()
1650 gup_flags |= FOLL_WRITE; in populate_vma_page_range()
1657 gup_flags |= FOLL_FORCE; in populate_vma_page_range()
1660 gup_flags |= FOLL_UNLOCKABLE; in populate_vma_page_range()
1666 ret = __get_user_pages(mm, start, nr_pages, gup_flags, in populate_vma_page_range()
1695 int gup_flags; in faultin_vma_page_range() local
1713 gup_flags = FOLL_TOUCH | FOLL_HWPOISON | FOLL_UNLOCKABLE; in faultin_vma_page_range()
1715 gup_flags |= FOLL_WRITE; in faultin_vma_page_range()
1721 if (check_vma_flags(vma, gup_flags)) in faultin_vma_page_range()
1724 ret = __get_user_pages(mm, start, nr_pages, gup_flags, in faultin_vma_page_range()
2192 unsigned int gup_flags) in __gup_longterm_locked() argument
2197 if (!(gup_flags & FOLL_LONGTERM)) in __gup_longterm_locked()
2199 locked, gup_flags); in __gup_longterm_locked()
2205 gup_flags); in __gup_longterm_locked()
2225 unsigned int gup_flags = *gup_flags_p; in is_valid_gup_args() local
2234 if (WARN_ON_ONCE(gup_flags & (FOLL_PIN | FOLL_TRIED | FOLL_UNLOCKABLE | in is_valid_gup_args()
2238 gup_flags |= to_set; in is_valid_gup_args()
2244 gup_flags |= FOLL_UNLOCKABLE; in is_valid_gup_args()
2248 if (WARN_ON_ONCE((gup_flags & (FOLL_PIN | FOLL_GET)) == in is_valid_gup_args()
2253 if (WARN_ON_ONCE(!(gup_flags & FOLL_PIN) && (gup_flags & FOLL_LONGTERM))) in is_valid_gup_args()
2257 if (WARN_ON_ONCE((gup_flags & (FOLL_GET | FOLL_PIN)) && !pages)) in is_valid_gup_args()
2261 if (WARN_ON_ONCE((gup_flags & FOLL_LONGTERM) && in is_valid_gup_args()
2262 (gup_flags & FOLL_PCI_P2PDMA))) in is_valid_gup_args()
2265 *gup_flags_p = gup_flags; in is_valid_gup_args()
2328 unsigned int gup_flags, struct page **pages, in get_user_pages_remote() argument
2333 if (!is_valid_gup_args(pages, locked, &gup_flags, in get_user_pages_remote()
2339 gup_flags); in get_user_pages_remote()
2346 unsigned int gup_flags, struct page **pages, in get_user_pages_remote() argument
2368 unsigned int gup_flags, struct page **pages) in get_user_pages() argument
2372 if (!is_valid_gup_args(pages, NULL, &gup_flags, FOLL_TOUCH)) in get_user_pages()
2376 &locked, gup_flags); in get_user_pages()
2396 struct page **pages, unsigned int gup_flags) in get_user_pages_unlocked() argument
2400 if (!is_valid_gup_args(pages, NULL, &gup_flags, in get_user_pages_unlocked()
2405 &locked, gup_flags); in get_user_pages_unlocked()
3118 unsigned int gup_flags, in lockless_pages_from_mm() argument
3129 if (gup_flags & FOLL_PIN) { in lockless_pages_from_mm()
3147 gup_pgd_range(start, end, gup_flags, pages, &nr_pinned); in lockless_pages_from_mm()
3154 if (gup_flags & FOLL_PIN) { in lockless_pages_from_mm()
3167 unsigned int gup_flags, in internal_get_user_pages_fast() argument
3175 if (WARN_ON_ONCE(gup_flags & ~(FOLL_WRITE | FOLL_LONGTERM | in internal_get_user_pages_fast()
3181 if (gup_flags & FOLL_PIN) in internal_get_user_pages_fast()
3184 if (!(gup_flags & FOLL_FAST_ONLY)) in internal_get_user_pages_fast()
3196 nr_pinned = lockless_pages_from_mm(start, end, gup_flags, pages); in internal_get_user_pages_fast()
3197 if (nr_pinned == nr_pages || gup_flags & FOLL_FAST_ONLY) in internal_get_user_pages_fast()
3205 gup_flags | FOLL_TOUCH | FOLL_UNLOCKABLE); in internal_get_user_pages_fast()
3237 unsigned int gup_flags, struct page **pages) in get_user_pages_fast_only() argument
3246 if (!is_valid_gup_args(pages, NULL, &gup_flags, in get_user_pages_fast_only()
3250 return internal_get_user_pages_fast(start, nr_pages, gup_flags, pages); in get_user_pages_fast_only()
3271 unsigned int gup_flags, struct page **pages) in get_user_pages_fast() argument
3279 if (!is_valid_gup_args(pages, NULL, &gup_flags, FOLL_GET)) in get_user_pages_fast()
3281 return internal_get_user_pages_fast(start, nr_pages, gup_flags, pages); in get_user_pages_fast()
3305 unsigned int gup_flags, struct page **pages) in pin_user_pages_fast() argument
3307 if (!is_valid_gup_args(pages, NULL, &gup_flags, FOLL_PIN)) in pin_user_pages_fast()
3309 return internal_get_user_pages_fast(start, nr_pages, gup_flags, pages); in pin_user_pages_fast()
3338 unsigned int gup_flags, struct page **pages, in pin_user_pages_remote() argument
3343 if (!is_valid_gup_args(pages, locked, &gup_flags, in pin_user_pages_remote()
3348 gup_flags); in pin_user_pages_remote()
3371 unsigned int gup_flags, struct page **pages) in pin_user_pages() argument
3375 if (!is_valid_gup_args(pages, NULL, &gup_flags, FOLL_PIN)) in pin_user_pages()
3378 pages, &locked, gup_flags); in pin_user_pages()
3391 struct page **pages, unsigned int gup_flags) in pin_user_pages_unlocked() argument
3395 if (!is_valid_gup_args(pages, NULL, &gup_flags, in pin_user_pages_unlocked()
3400 &locked, gup_flags); in pin_user_pages_unlocked()