Lines Matching refs:dst_vma
785 pte_t *dst_pte, pte_t *src_pte, struct vm_area_struct *dst_vma, in copy_nonpresent_pte() argument
788 unsigned long vm_flags = dst_vma->vm_flags; in copy_nonpresent_pte()
850 folio_try_dup_anon_rmap_pte(folio, page, dst_vma, src_vma); in copy_nonpresent_pte()
880 pte_marker marker = copy_pte_marker(entry, dst_vma); in copy_nonpresent_pte()
887 if (!userfaultfd_wp(dst_vma)) in copy_nonpresent_pte()
906 copy_present_page(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, in copy_present_page() argument
927 folio_add_new_anon_rmap(new_folio, dst_vma, addr, RMAP_EXCLUSIVE); in copy_present_page()
928 folio_add_lru_vma(new_folio, dst_vma); in copy_present_page()
932 pte = mk_pte(&new_folio->page, dst_vma->vm_page_prot); in copy_present_page()
933 pte = maybe_mkwrite(pte_mkdirty(pte), dst_vma); in copy_present_page()
934 if (userfaultfd_pte_wp(dst_vma, ptep_get(src_pte))) in copy_present_page()
937 set_pte_at(dst_vma->vm_mm, addr, dst_pte, pte); in copy_present_page()
941 static __always_inline void __copy_present_ptes(struct vm_area_struct *dst_vma, in __copy_present_ptes() argument
958 if (!userfaultfd_wp(dst_vma)) in __copy_present_ptes()
961 set_ptes(dst_vma->vm_mm, addr, dst_pte, pte, nr); in __copy_present_ptes()
972 copy_present_ptes(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, in copy_present_ptes() argument
1004 nr, dst_vma, src_vma))) { in copy_present_ptes()
1011 folio_dup_file_rmap_ptes(folio, page, nr, dst_vma); in copy_present_ptes()
1016 __copy_present_ptes(dst_vma, src_vma, dst_pte, src_pte, pte, in copy_present_ptes()
1029 if (unlikely(folio_try_dup_anon_rmap_pte(folio, page, dst_vma, src_vma))) { in copy_present_ptes()
1032 err = copy_present_page(dst_vma, src_vma, dst_pte, src_pte, in copy_present_ptes()
1039 folio_dup_file_rmap_pte(folio, page, dst_vma); in copy_present_ptes()
1044 __copy_present_ptes(dst_vma, src_vma, dst_pte, src_pte, pte, addr, 1); in copy_present_ptes()
1071 copy_pte_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, in copy_pte_range() argument
1075 struct mm_struct *dst_mm = dst_vma->vm_mm; in copy_pte_range()
1145 dst_vma, src_vma, in copy_pte_range()
1167 ret = copy_present_ptes(dst_vma, src_vma, dst_pte, src_pte, in copy_pte_range()
1226 copy_pmd_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, in copy_pmd_range() argument
1230 struct mm_struct *dst_mm = dst_vma->vm_mm; in copy_pmd_range()
1246 addr, dst_vma, src_vma); in copy_pmd_range()
1255 if (copy_pte_range(dst_vma, src_vma, dst_pmd, src_pmd, in copy_pmd_range()
1263 copy_pud_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, in copy_pud_range() argument
1267 struct mm_struct *dst_mm = dst_vma->vm_mm; in copy_pud_range()
1292 if (copy_pmd_range(dst_vma, src_vma, dst_pud, src_pud, in copy_pud_range()
1300 copy_p4d_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, in copy_p4d_range() argument
1304 struct mm_struct *dst_mm = dst_vma->vm_mm; in copy_p4d_range()
1316 if (copy_pud_range(dst_vma, src_vma, dst_p4d, src_p4d, in copy_p4d_range()
1329 vma_needs_copy(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma) in vma_needs_copy() argument
1337 if (userfaultfd_wp(dst_vma)) in vma_needs_copy()
1356 copy_page_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma) in copy_page_range() argument
1361 struct mm_struct *dst_mm = dst_vma->vm_mm; in copy_page_range()
1368 if (!vma_needs_copy(dst_vma, src_vma)) in copy_page_range()
1372 return copy_hugetlb_page_range(dst_mm, src_mm, dst_vma, src_vma); in copy_page_range()
1375 ret = track_pfn_copy(dst_vma, src_vma, &pfn); in copy_page_range()
1410 if (unlikely(copy_p4d_range(dst_vma, src_vma, dst_pgd, src_pgd, in copy_page_range()
1422 untrack_pfn_copy(dst_vma, pfn); in copy_page_range()