| /linux/include/linux/ |
| H A D | rmap.h | 569 struct vm_area_struct *src_vma, enum pgtable_level level) in __folio_try_dup_anon_rmap() argument 586 unlikely(folio_needs_cow_for_dma(src_vma, folio)); in __folio_try_dup_anon_rmap() 658 struct vm_area_struct *src_vma) in folio_try_dup_anon_rmap_ptes() argument 661 src_vma, PGTABLE_LEVEL_PTE); in folio_try_dup_anon_rmap_ptes() 666 struct vm_area_struct *src_vma) in folio_try_dup_anon_rmap_pte() argument 668 return __folio_try_dup_anon_rmap(folio, page, 1, dst_vma, src_vma, in folio_try_dup_anon_rmap_pte() 697 struct vm_area_struct *src_vma) in folio_try_dup_anon_rmap_pmd() argument 701 src_vma, PGTABLE_LEVEL_PMD); in folio_try_dup_anon_rmap_pmd()
|
| H A D | mm.h | 3234 copy_page_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma);
|
| /linux/mm/ |
| H A D | userfaultfd.c | 1280 static struct folio *check_ptes_for_batched_move(struct vm_area_struct *src_vma, in check_ptes_for_batched_move() argument 1295 folio = vm_normal_folio(src_vma, src_addr, orig_src_pte); in check_ptes_for_batched_move() 1311 struct vm_area_struct *src_vma, in move_present_ptes() argument 1326 flush_cache_range(src_vma, src_addr, src_end); in move_present_ptes() 1381 src_folio = check_ptes_for_batched_move(src_vma, src_addr, in move_present_ptes() 1389 flush_tlb_range(src_vma, src_start, src_addr); in move_present_ptes() 1463 struct vm_area_struct *src_vma, in move_zeropage_pte() argument 1488 ptep_clear_flush(src_vma, src_addr, src_pte); in move_zeropage_pte() 1503 struct vm_area_struct *src_vma, in move_pages_ptes() argument 1591 ret = move_zeropage_pte(mm, dst_vma, src_vma, in move_pages_ptes() [all …]
|
| H A D | memory.c | 1010 struct vm_area_struct *src_vma, unsigned long addr, int *rss) in copy_nonpresent_pte() argument 1066 folio_try_dup_anon_rmap_pte(folio, page, dst_vma, src_vma); in copy_nonpresent_pte() 1091 VM_BUG_ON(!vma_is_cow_mapping(src_vma)); in copy_nonpresent_pte() 1092 if (try_restore_exclusive_pte(src_vma, addr, src_pte, orig_pte)) in copy_nonpresent_pte() 1122 copy_present_page(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, in copy_present_page() argument 1138 if (copy_mc_user_highpage(&new_folio->page, page, addr, src_vma)) in copy_present_page() 1162 struct vm_area_struct *src_vma, pte_t *dst_pte, pte_t *src_pte, in __copy_present_ptes() argument 1165 struct mm_struct *src_mm = src_vma->vm_mm; in __copy_present_ptes() 1184 if (userfaultfd_rwp(src_vma) && pte_uffd(pte)) in __copy_present_ptes() 1190 if (vma_is_cow_mapping(src_vma) && writable) { in __copy_present_ptes() [all …]
|
| H A D | hugetlb.c | 4888 struct vm_area_struct *src_vma) in copy_hugetlb_page_range() argument 4893 bool cow = vma_is_cow_mapping(src_vma); in copy_hugetlb_page_range() 4894 struct hstate *h = hstate_vma(src_vma); in copy_hugetlb_page_range() 4904 src_vma->vm_start, in copy_hugetlb_page_range() 4905 src_vma->vm_end); in copy_hugetlb_page_range() 4907 vma_assert_write_locked(src_vma); in copy_hugetlb_page_range() 4916 hugetlb_vma_lock_read(src_vma); in copy_hugetlb_page_range() 4920 for (addr = src_vma->vm_start; addr < src_vma->vm_end; addr += sz) { in copy_hugetlb_page_range() 4922 src_pte = hugetlb_walk(src_vma, addr, sz); in copy_hugetlb_page_range() 4944 entry = huge_ptep_get(src_vma->vm_mm, addr, src_pte); in copy_hugetlb_page_range() [all …]
|
| H A D | huge_memory.c | 1897 struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, in copy_huge_non_present_pmd() argument 1939 dst_vma, src_vma); in copy_huge_non_present_pmd() 1952 struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma) in copy_huge_pmd() argument 1976 VM_WARN_ON_ONCE(vma_is_cow_mapping(src_vma) && pmd_write(pmd)); in copy_huge_pmd() 1998 dst_vma, src_vma, pmd, pgtable); in copy_huge_pmd() 2027 if (unlikely(folio_try_dup_anon_rmap_pmd(src_folio, src_page, dst_vma, src_vma))) { in copy_huge_pmd() 2033 __split_huge_pmd(src_vma, src_pmd, addr, false); in copy_huge_pmd() 2043 if (userfaultfd_rwp(src_vma) && pmd_uffd(pmd)) in copy_huge_pmd() 2891 struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, in move_pages_huge_pmd() argument 2906 vma_assert_locked(src_vma); in move_pages_huge_pmd() [all …]
|