Lines Matching full:middle

70 		.middle = vma_,						\
106 struct vm_area_struct *src = vmg->middle; /* existing merge case. */ in is_mergeable_anon_vma()
154 *remove = vmg->middle; in init_multi_vma_prep()
161 adjust = vmg->middle; in init_multi_vma_prep()
699 * for the middle or next VMA, we calculate what the range of the newly adjusted
708 adjust = vmg->middle; in vmg_adjust_set_range()
734 /* We manipulate middle and adjust next, which is the target. */ in commit_merge()
735 vma = vmg->middle; in commit_merge()
757 * middle->vm_start. in commit_merge()
760 vmg->__adjust_middle_start ? vmg->middle : NULL); in commit_merge()
788 * the maple tree describing the @vmg->middle->vm_mm address space to account
799 * - The caller must assign the VMA to be modified to @vmg->middle.
803 * - vmi must be positioned within [@vmg->middle->vm_start, @vmg->middle->vm_end).
809 struct vm_area_struct *middle = vmg->middle; in vma_merge_existing_range() local
815 bool left_side = middle && start == middle->vm_start; in vma_merge_existing_range()
816 bool right_side = middle && end == middle->vm_end; in vma_merge_existing_range()
821 VM_WARN_ON_VMG(!middle, vmg); /* We are modifying a VMA, so caller must specify. */ in vma_merge_existing_range()
827 * If middle == prev, then we are offset into a VMA. Otherwise, if we are in vma_merge_existing_range()
830 VM_WARN_ON_VMG(middle && in vma_merge_existing_range()
831 ((middle != prev && vmg->start != middle->vm_start) || in vma_merge_existing_range()
832 vmg->end > middle->vm_end), vmg); in vma_merge_existing_range()
833 /* The vmi must be positioned within vmg->middle. */ in vma_merge_existing_range()
834 VM_WARN_ON_VMG(middle && in vma_merge_existing_range()
835 !(vma_iter_addr(vmg->vmi) >= middle->vm_start && in vma_merge_existing_range()
836 vma_iter_addr(vmg->vmi) < middle->vm_end), vmg); in vma_merge_existing_range()
875 * If we need to remove middle in its entirety but are unable to do so, in vma_merge_existing_range()
878 if (vmg->__remove_middle && !can_merge_remove_vma(middle)) in vma_merge_existing_range()
889 * prev and middle (thereby deleting middle). in vma_merge_existing_range()
897 /* No matter what happens, we will be adjusting middle. */ in vma_merge_existing_range()
898 vma_start_write(middle); in vma_merge_existing_range()
916 * prev middle next in vma_merge_existing_range()
927 * next or middle contains the anon_vma we must duplicate. in vma_merge_existing_range()
929 err = dup_anon_vma(prev, next->anon_vma ? next : middle, in vma_merge_existing_range()
936 * prev middle in vma_merge_existing_range()
946 err = dup_anon_vma(prev, middle, &anon_dup); in vma_merge_existing_range()
952 * middle next in vma_merge_existing_range()
959 /* If we are offset into a VMA, then prev must be middle. */ in vma_merge_existing_range()
960 VM_WARN_ON_VMG(vmg->start > middle->vm_start && prev && middle != prev, vmg); in vma_merge_existing_range()
966 /* We shrink middle and expand next. */ in vma_merge_existing_range()
968 vmg->start = middle->vm_start; in vma_merge_existing_range()
970 vmg->pgoff = middle->vm_pgoff; in vma_merge_existing_range()
973 err = dup_anon_vma(next, middle, &anon_dup); in vma_merge_existing_range()
1054 VM_WARN_ON_VMG(vmg->middle, vmg); in vma_merge_new_range()
1122 * ASSUMPTIONS: Same as vma_merge_new_range(), except vmg->middle must contain
1128 VM_WARN_ON_VMG(!vmg->middle, vmg); in vma_merge_copied_range()
1130 vmg->copied_from = vmg->middle; in vma_merge_copied_range()
1131 vmg->middle = NULL; in vma_merge_copied_range()
1651 struct vm_area_struct *vma = vmg->middle; in vma_modify()
1764 vmg.middle = NULL; /* We use the VMA to populate VMG fields only. */ in vma_merge_extend()