Lines Matching refs:src_vma
1043 static struct folio *check_ptes_for_batched_move(struct vm_area_struct *src_vma, in check_ptes_for_batched_move() argument
1058 folio = vm_normal_folio(src_vma, src_addr, orig_src_pte); in check_ptes_for_batched_move()
1074 struct vm_area_struct *src_vma, in move_present_ptes() argument
1089 flush_cache_range(src_vma, src_addr, src_end); in move_present_ptes()
1137 src_folio = check_ptes_for_batched_move(src_vma, src_addr, in move_present_ptes()
1145 flush_tlb_range(src_vma, src_start, src_addr); in move_present_ptes()
1220 struct vm_area_struct *src_vma, in move_zeropage_pte() argument
1238 ptep_clear_flush(src_vma, src_addr, src_pte); in move_zeropage_pte()
1253 struct vm_area_struct *src_vma, in move_pages_ptes() argument
1341 ret = move_zeropage_pte(mm, dst_vma, src_vma, in move_pages_ptes()
1368 folio = vm_normal_folio(src_vma, src_addr, orig_src_pte); in move_pages_ptes()
1425 ret = move_present_ptes(mm, dst_vma, src_vma, in move_pages_ptes()
1541 struct vm_area_struct *src_vma, in validate_move_areas() argument
1545 if ((src_vma->vm_flags & VM_ACCESS_FLAGS) != (dst_vma->vm_flags & VM_ACCESS_FLAGS) || in validate_move_areas()
1546 pgprot_val(src_vma->vm_page_prot) != pgprot_val(dst_vma->vm_page_prot)) in validate_move_areas()
1550 if ((src_vma->vm_flags & VM_LOCKED) != (dst_vma->vm_flags & VM_LOCKED)) in validate_move_areas()
1557 if (!(src_vma->vm_flags & VM_WRITE)) in validate_move_areas()
1561 if (!vma_move_compatible(src_vma) || !vma_move_compatible(dst_vma)) in validate_move_areas()
1570 if (!vma_is_anonymous(src_vma) || !vma_is_anonymous(dst_vma)) in validate_move_areas()
1671 struct vm_area_struct *src_vma) in uffd_move_unlock() argument
1673 vma_end_read(src_vma); in uffd_move_unlock()
1674 if (src_vma != dst_vma) in uffd_move_unlock()
1696 struct vm_area_struct *src_vma) in uffd_move_unlock() argument
1698 mmap_assert_locked(src_vma->vm_mm); in uffd_move_unlock()
1774 struct vm_area_struct *src_vma, *dst_vma; in move_pages() local
1789 err = uffd_move_lock(mm, dst_start, src_start, &dst_vma, &src_vma); in move_pages()
1804 if (src_vma->vm_flags & VM_SHARED) in move_pages()
1806 if (src_start + len > src_vma->vm_end) in move_pages()
1814 err = validate_move_areas(ctx, src_vma, dst_vma); in move_pages()
1859 ptl = pmd_trans_huge_lock(src_pmd, src_vma); in move_pages()
1877 split_huge_pmd(src_vma, src_pmd, src_addr); in move_pages()
1883 dst_pmdval, dst_vma, src_vma, in move_pages()
1906 dst_vma, src_vma, dst_addr, in move_pages()
1937 uffd_move_unlock(dst_vma, src_vma); in move_pages()