| /linux-6.15/mm/ |
| H A D | userfaultfd.c | 106 if (IS_ERR(dst_vma) || validate_dst_vma(dst_vma, dst_start + len)) in uffd_mfill_lock() 107 return dst_vma; in uffd_mfill_lock() 109 vma_end_read(dst_vma); in uffd_mfill_lock() 128 if (IS_ERR(dst_vma)) in uffd_mfill_lock() 132 return dst_vma; in uffd_mfill_lock() 137 return dst_vma; in uffd_mfill_lock() 153 if (!dst_vma->vm_file) in mfill_file_over_size() 537 if (!dst_vma) { in mfill_atomic_hugetlb() 614 dst_vma = NULL; in mfill_atomic_hugetlb() 769 if (!vma_is_anonymous(dst_vma) && !vma_is_shmem(dst_vma)) in mfill_atomic() [all …]
|
| H A D | memory.c | 887 if (!userfaultfd_wp(dst_vma)) in copy_nonpresent_pte() 928 folio_add_lru_vma(new_folio, dst_vma); in copy_present_page() 958 if (!userfaultfd_wp(dst_vma)) in __copy_present_ptes() 1004 nr, dst_vma, src_vma))) { in copy_present_ptes() 1075 struct mm_struct *dst_mm = dst_vma->vm_mm; in copy_pte_range() 1145 dst_vma, src_vma, in copy_pte_range() 1230 struct mm_struct *dst_mm = dst_vma->vm_mm; in copy_pmd_range() 1246 addr, dst_vma, src_vma); in copy_pmd_range() 1337 if (userfaultfd_wp(dst_vma)) in vma_needs_copy() 1368 if (!vma_needs_copy(dst_vma, src_vma)) in copy_page_range() [all …]
|
| H A D | hugetlb.c | 5561 struct vm_area_struct *dst_vma, in copy_hugetlb_page_range() argument 5630 if (!userfaultfd_wp(dst_vma)) in copy_hugetlb_page_range() 5649 if (!userfaultfd_wp(dst_vma)) in copy_hugetlb_page_range() 5654 pte_to_swp_entry(entry), dst_vma); in copy_hugetlb_page_range() 5690 addr, dst_vma); in copy_hugetlb_page_range() 5703 restore_reserve_on_error(h, dst_vma, addr, in copy_hugetlb_page_range() 5728 if (!userfaultfd_wp(dst_vma)) in copy_hugetlb_page_range() 6893 struct vm_area_struct *dst_vma, in hugetlb_mfill_atomic_pte() argument 6899 struct mm_struct *dst_mm = dst_vma->vm_mm; in hugetlb_mfill_atomic_pte() 6902 struct hstate *h = hstate_vma(dst_vma); in hugetlb_mfill_atomic_pte() [all …]
|
| H A D | huge_memory.c | 1691 struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma) in copy_huge_pmd() argument 1719 if (!vma_is_anonymous(dst_vma)) in copy_huge_pmd() 1751 if (!userfaultfd_wp(dst_vma)) in copy_huge_pmd() 1797 if (!userfaultfd_wp(dst_vma)) in copy_huge_pmd() 2553 struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, in move_pages_huge_pmd() argument 2570 vma_assert_locked(dst_vma); in move_pages_huge_pmd() 2653 folio_move_anon_rmap(src_folio, dst_vma); in move_pages_huge_pmd() 2654 src_folio->index = linear_page_index(dst_vma, dst_addr); in move_pages_huge_pmd() 2656 _dst_pmd = mk_huge_pmd(&src_folio->page, dst_vma->vm_page_prot); in move_pages_huge_pmd() 2658 _dst_pmd = pmd_mkwrite(pmd_mkdirty(_dst_pmd), dst_vma); in move_pages_huge_pmd() [all …]
|
| H A D | shmem.c | 3151 struct vm_area_struct *dst_vma, in shmem_mfill_atomic_pte() argument 3157 struct inode *inode = file_inode(dst_vma->vm_file); in shmem_mfill_atomic_pte() 3161 pgoff_t pgoff = linear_page_index(dst_vma, dst_addr); in shmem_mfill_atomic_pte() 3239 ret = mem_cgroup_charge(folio, dst_vma->vm_mm, gfp); in shmem_mfill_atomic_pte() 3246 ret = mfill_atomic_install_pte(dst_pmd, dst_vma, dst_addr, in shmem_mfill_atomic_pte()
|
| /linux-6.15/include/linux/ |
| H A D | rmap.h | 547 struct page *page, int nr_pages, struct vm_area_struct *dst_vma, in __folio_dup_file_rmap() argument 566 folio_add_large_mapcount(folio, orig_nr_pages, dst_vma); in __folio_dup_file_rmap() 571 folio_inc_large_mapcount(folio, dst_vma); in __folio_dup_file_rmap() 594 struct page *page, struct vm_area_struct *dst_vma) in folio_dup_file_rmap_pte() argument 596 __folio_dup_file_rmap(folio, page, 1, dst_vma, RMAP_LEVEL_PTE); in folio_dup_file_rmap_pte() 610 struct page *page, struct vm_area_struct *dst_vma) in folio_dup_file_rmap_pmd() argument 666 folio_add_large_mapcount(folio, orig_nr_pages, dst_vma); in __folio_try_dup_anon_rmap() 676 folio_inc_large_mapcount(folio, dst_vma); in __folio_try_dup_anon_rmap() 710 return __folio_try_dup_anon_rmap(folio, page, nr_pages, dst_vma, in folio_try_dup_anon_rmap_ptes() 715 struct page *page, struct vm_area_struct *dst_vma, in folio_try_dup_anon_rmap_pte() argument [all …]
|
| H A D | shmem_fs.h | 197 struct vm_area_struct *dst_vma, 203 #define shmem_mfill_atomic_pte(dst_pmd, dst_vma, dst_addr, \ argument
|
| H A D | userfaultfd_k.h | 119 struct vm_area_struct *dst_vma, 144 struct vm_area_struct *dst_vma,
|
| H A D | mm_inline.h | 541 swp_entry_t entry, struct vm_area_struct *dst_vma) in copy_pte_marker() argument 548 if ((srcm & PTE_MARKER_UFFD_WP) && userfaultfd_wp(dst_vma)) in copy_pte_marker()
|
| H A D | pgtable.h | 1518 static inline int track_pfn_copy(struct vm_area_struct *dst_vma, in track_pfn_copy() argument 1530 static inline void untrack_pfn_copy(struct vm_area_struct *dst_vma, in untrack_pfn_copy() argument 1561 extern int track_pfn_copy(struct vm_area_struct *dst_vma, 1563 extern void untrack_pfn_copy(struct vm_area_struct *dst_vma,
|
| H A D | hugetlb.h | 145 struct vm_area_struct *dst_vma, 328 struct vm_area_struct *dst_vma, in copy_hugetlb_page_range() argument 404 struct vm_area_struct *dst_vma, in hugetlb_mfill_atomic_pte() argument
|
| H A D | huge_mm.h | 13 struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma);
|
| H A D | mm.h | 2492 copy_page_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma);
|
| /linux-6.15/arch/x86/mm/pat/ |
| H A D | memtype.c | 987 int track_pfn_copy(struct vm_area_struct *dst_vma, in track_pfn_copy() argument 1009 vm_flags_set(dst_vma, VM_PAT); in track_pfn_copy() 1014 void untrack_pfn_copy(struct vm_area_struct *dst_vma, unsigned long pfn) in untrack_pfn_copy() argument 1016 untrack_pfn(dst_vma, pfn, dst_vma->vm_end - dst_vma->vm_start, true); in untrack_pfn_copy()
|