/kernel/linux/linux-5.10/mm/ |
D | userfaultfd.c | 30 struct vm_area_struct *dst_vma; in find_dst_vma() local 32 dst_vma = find_vma(dst_mm, dst_start); in find_dst_vma() 33 if (!dst_vma) in find_dst_vma() 36 if (dst_start < dst_vma->vm_start || in find_dst_vma() 37 dst_start + len > dst_vma->vm_end) in find_dst_vma() 45 if (!dst_vma->vm_userfaultfd_ctx.ctx) in find_dst_vma() 48 return dst_vma; in find_dst_vma() 53 struct vm_area_struct *dst_vma, in mcopy_atomic_pte() argument 69 page = alloc_page_vma(GFP_HIGHUSER_MOVABLE, dst_vma, dst_addr); in mcopy_atomic_pte() 102 _dst_pte = pte_mkdirty(mk_pte(page, dst_vma->vm_page_prot)); in mcopy_atomic_pte() [all …]
|
D | memory.c | 700 pte_t *dst_pte, pte_t *src_pte, struct vm_area_struct *dst_vma, in copy_nonpresent_pte() argument 703 unsigned long vm_flags = dst_vma->vm_flags; in copy_nonpresent_pte() 772 if (!userfaultfd_wp(dst_vma)) in copy_nonpresent_pte() 799 copy_present_page(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, in copy_present_page() argument 838 page_add_new_anon_rmap(new_page, dst_vma, addr, false); in copy_present_page() 839 lru_cache_add_inactive_or_unevictable(new_page, dst_vma); in copy_present_page() 843 pte = mk_pte(new_page, dst_vma->vm_page_prot); in copy_present_page() 844 pte = maybe_mkwrite(pte_mkdirty(pte), dst_vma); in copy_present_page() 845 if (userfaultfd_pte_wp(dst_vma, *src_pte)) in copy_present_page() 848 set_pte_at(dst_vma->vm_mm, addr, dst_pte, pte); in copy_present_page() [all …]
|
D | hugetlb.c | 4716 struct vm_area_struct *dst_vma, in hugetlb_mcopy_atomic_pte() argument 4724 int vm_shared = dst_vma->vm_flags & VM_SHARED; in hugetlb_mcopy_atomic_pte() 4725 struct hstate *h = hstate_vma(dst_vma); in hugetlb_mcopy_atomic_pte() 4736 hugetlbfs_pagecache_present(h, dst_vma, dst_addr)) { in hugetlb_mcopy_atomic_pte() 4741 page = alloc_huge_page(dst_vma, dst_addr, 0); in hugetlb_mcopy_atomic_pte() 4770 mapping = dst_vma->vm_file->f_mapping; in hugetlb_mcopy_atomic_pte() 4771 idx = vma_hugecache_offset(h, dst_vma, dst_addr); in hugetlb_mcopy_atomic_pte() 4818 hugepage_add_new_anon_rmap(page, dst_vma, dst_addr); in hugetlb_mcopy_atomic_pte() 4821 _dst_pte = make_huge_pte(dst_vma, page, dst_vma->vm_flags & VM_WRITE); in hugetlb_mcopy_atomic_pte() 4822 if (dst_vma->vm_flags & VM_WRITE) in hugetlb_mcopy_atomic_pte() [all …]
|
D | shmem.c | 2353 struct vm_area_struct *dst_vma, in shmem_mfill_atomic_pte() argument 2359 struct inode *inode = file_inode(dst_vma->vm_file); in shmem_mfill_atomic_pte() 2363 pgoff_t pgoff = linear_page_index(dst_vma, dst_addr); in shmem_mfill_atomic_pte() 2418 offset = linear_page_index(dst_vma, dst_addr); in shmem_mfill_atomic_pte() 2428 _dst_pte = mk_pte(page, dst_vma->vm_page_prot); in shmem_mfill_atomic_pte() 2429 if (dst_vma->vm_flags & VM_WRITE) in shmem_mfill_atomic_pte() 2466 update_mmu_cache(dst_vma, dst_addr, dst_pte); in shmem_mfill_atomic_pte() 2486 struct vm_area_struct *dst_vma, in shmem_mcopy_atomic_pte() argument 2491 return shmem_mfill_atomic_pte(dst_mm, dst_pmd, dst_vma, in shmem_mcopy_atomic_pte() 2497 struct vm_area_struct *dst_vma, in shmem_mfill_zeropage_pte() argument [all …]
|
D | huge_memory.c | 1015 struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma) in copy_huge_pmd() argument 1024 if (!vma_is_anonymous(dst_vma)) in copy_huge_pmd() 1055 if (!userfaultfd_wp(dst_vma)) in copy_huge_pmd() 1109 if (!userfaultfd_wp(dst_vma)) in copy_huge_pmd()
|
/kernel/linux/linux-5.10/include/linux/ |
D | shmem_fs.h | 123 struct vm_area_struct *dst_vma, 129 struct vm_area_struct *dst_vma, 132 #define shmem_mcopy_atomic_pte(dst_mm, dst_pte, dst_vma, dst_addr, \ argument 134 #define shmem_mfill_zeropage_pte(dst_mm, dst_pmd, dst_vma, \ argument
|
D | hugetlb.h | 138 struct vm_area_struct *dst_vma, 313 struct vm_area_struct *dst_vma, in hugetlb_mcopy_atomic_pte() argument
|
D | huge_mm.h | 13 struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma);
|
D | mm.h | 1693 copy_page_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma);
|