Lines Matching defs:dst_vma

942 		pte_t *dst_pte, pte_t *src_pte, struct vm_area_struct *dst_vma,
945 vm_flags_t vm_flags = dst_vma->vm_flags;
1007 folio_try_dup_anon_rmap_pte(folio, page, dst_vma, src_vma);
1037 pte_marker marker = copy_pte_marker(entry, dst_vma);
1044 if (!userfaultfd_wp(dst_vma))
1063 copy_present_page(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma,
1084 folio_add_new_anon_rmap(new_folio, dst_vma, addr, RMAP_EXCLUSIVE);
1085 folio_add_lru_vma(new_folio, dst_vma);
1089 pte = folio_mk_pte(new_folio, dst_vma->vm_page_prot);
1090 pte = maybe_mkwrite(pte_mkdirty(pte), dst_vma);
1091 if (userfaultfd_pte_wp(dst_vma, ptep_get(src_pte)))
1094 set_pte_at(dst_vma->vm_mm, addr, dst_pte, pte);
1098 static __always_inline void __copy_present_ptes(struct vm_area_struct *dst_vma,
1115 if (!userfaultfd_wp(dst_vma))
1118 set_ptes(dst_vma->vm_mm, addr, dst_pte, pte, nr);
1129 copy_present_ptes(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma,
1159 nr, dst_vma, src_vma))) {
1166 folio_dup_file_rmap_ptes(folio, page, nr, dst_vma);
1169 __copy_present_ptes(dst_vma, src_vma, dst_pte, src_pte, pte,
1182 if (unlikely(folio_try_dup_anon_rmap_pte(folio, page, dst_vma, src_vma))) {
1185 err = copy_present_page(dst_vma, src_vma, dst_pte, src_pte,
1192 folio_dup_file_rmap_pte(folio, page, dst_vma);
1197 __copy_present_ptes(dst_vma, src_vma, dst_pte, src_pte, pte, addr, 1);
1224 copy_pte_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma,
1228 struct mm_struct *dst_mm = dst_vma->vm_mm;
1298 dst_vma, src_vma,
1320 ret = copy_present_ptes(dst_vma, src_vma, dst_pte, src_pte,
1379 copy_pmd_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma,
1383 struct mm_struct *dst_mm = dst_vma->vm_mm;
1399 addr, dst_vma, src_vma);
1408 if (copy_pte_range(dst_vma, src_vma, dst_pmd, src_pmd,
1416 copy_pud_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma,
1420 struct mm_struct *dst_mm = dst_vma->vm_mm;
1445 if (copy_pmd_range(dst_vma, src_vma, dst_pud, src_pud,
1453 copy_p4d_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma,
1457 struct mm_struct *dst_mm = dst_vma->vm_mm;
1469 if (copy_pud_range(dst_vma, src_vma, dst_p4d, src_p4d,
1482 vma_needs_copy(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma)
1485 * We check against dst_vma as while sane VMA flags will have been
1486 * copied, VM_UFFD_WP may be set only on dst_vma.
1488 if (dst_vma->vm_flags & VM_COPY_ON_FORK)
1507 copy_page_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma)
1512 struct mm_struct *dst_mm = dst_vma->vm_mm;
1519 if (!vma_needs_copy(dst_vma, src_vma))
1523 return copy_hugetlb_page_range(dst_mm, src_mm, dst_vma, src_vma);
1555 if (unlikely(copy_p4d_range(dst_vma, src_vma, dst_pgd, src_pgd,