Lines Matching defs:prev
87 struct vm_area_struct *vma, struct vm_area_struct *prev,
341 unsigned long prev = 0, pend = 0;
346 if (vma->vm_start < prev) {
347 pr_emerg("vm_start %lx < prev %lx\n",
348 vma->vm_start, prev);
371 prev = vma->vm_start;
685 struct vm_area_struct *prev, struct rb_node **rb_link,
688 __vma_link_list(mm, vma, prev);
693 struct vm_area_struct *prev, struct rb_node **rb_link,
703 __vma_link(mm, vma, prev, rb_link, rb_parent);
719 struct vm_area_struct *prev;
723 &prev, &rb_link, &rb_parent))
725 __vma_link(mm, vma, prev, rb_link, rb_parent);
1134 * an offset within prev, or at the start of next), and the flags of
1140 * vma, PPPPPP is the prev vma specified, and NNNNNN the next vma after:
1170 struct vm_area_struct *prev, unsigned long addr,
1188 next = vma_next(mm, prev);
1194 VM_WARN_ON(prev && addr <= prev->vm_start);
1201 if (prev && prev->vm_end == addr &&
1202 mpol_equal(vma_policy(prev), policy) &&
1203 can_vma_merge_after(prev, vm_flags,
1215 is_mergeable_anon_vma(prev->anon_vma,
1218 err = __vma_adjust(prev, prev->vm_start,
1219 next->vm_end, prev->vm_pgoff, NULL,
1220 prev);
1222 err = __vma_adjust(prev, prev->vm_start,
1223 end, prev->vm_pgoff, NULL, prev);
1226 khugepaged_enter_vma_merge(prev, vm_flags);
1227 return prev;
1238 if (prev && addr < prev->vm_end) /* case 4 */
1239 err = __vma_adjust(prev, prev->vm_start,
1240 addr, prev->vm_pgoff, NULL, next);
1334 /* Try prev next. */
1769 struct vm_area_struct *vma, *prev, *merge;
1789 /* Clear old maps, set up prev, rb_link, rb_parent, and uf */
1790 if (munmap_vma_range(mm, addr, len, &prev, &rb_link, &rb_parent, uf))
1805 vma = vma_merge(mm, prev, addr, addr + len, vm_flags,
1853 * Bug: If addr is changed, prev, rb_link, rb_parent should
1863 if (unlikely(vm_flags != vma->vm_flags && prev)) {
1864 merge = vma_merge(mm, prev, vma->vm_start, vma->vm_end, vma->vm_flags,
1899 vma_link(mm, vma, prev, rb_link, rb_parent);
1946 unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
2031 struct rb_node *prev = &vma->vm_rb;
2032 if (!rb_parent(prev))
2034 vma = rb_entry(rb_parent(prev),
2036 if (prev == vma->vm_rb.rb_left) {
2136 struct rb_node *prev = &vma->vm_rb;
2137 if (!rb_parent(prev))
2139 vma = rb_entry(rb_parent(prev),
2141 if (prev == vma->vm_rb.rb_right) {
2204 struct vm_area_struct *vma, *prev;
2220 vma = find_vma_prev(mm, addr, &prev);
2223 (!prev || addr >= vm_end_gap(prev)) &&
2249 struct vm_area_struct *vma, *prev;
2269 vma = find_vma_prev(mm, addr, &prev);
2272 (!prev || addr >= vm_end_gap(prev)) &&
2546 struct vm_area_struct *prev;
2554 prev = vma->vm_prev;
2556 if (prev && !(prev->vm_flags & VM_GROWSDOWN) &&
2557 vma_is_accessible(prev)) {
2558 if (address - prev->vm_end < stack_guard_gap)
2641 struct vm_area_struct *vma, *prev;
2644 vma = find_vma_prev(mm, addr, &prev);
2648 if (!prev || expand_stack(prev, addr))
2650 if (prev->vm_flags & VM_LOCKED)
2651 populate_vma_page_range(prev, addr, prev->vm_end, NULL);
2652 return prev;
2715 struct vm_area_struct *vma, struct vm_area_struct *prev,
2718 struct vm_area_struct *next = vma_next(mm, prev);
2742 free_pgtables(&tlb, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS,
2753 struct vm_area_struct *prev, unsigned long end)
2758 insertion_point = (prev ? &prev->vm_next : &mm->mmap);
2768 vma->vm_prev = prev;
2771 mm->highest_vm_end = prev ? vm_end_gap(prev) : 0;
2784 if (prev && (prev->vm_flags & VM_GROWSUP))
2875 struct vm_area_struct *vma, *prev, *last;
2901 prev = vma->vm_prev;
2929 prev = vma;
2939 vma = vma_next(mm, prev);
2972 if (!detach_vmas_to_be_unmapped(mm, vma, prev, end))
2978 unmap_region(mm, vma, prev, start, end);
3138 struct vm_area_struct *vma, *prev;
3157 /* Clear old maps, set up prev, rb_link, rb_parent, and uf */
3158 if (munmap_vma_range(mm, addr, len, &prev, &rb_link, &rb_parent, uf))
3172 vma = vma_merge(mm, prev, addr, addr + len, flags,
3192 vma_link(mm, vma, prev, rb_link, rb_parent);
3313 struct vm_area_struct *prev;
3317 &prev, &rb_link, &rb_parent))
3340 vma_link(mm, vma, prev, rb_link, rb_parent);
3355 struct vm_area_struct *new_vma, *prev;
3368 if (find_vma_links(mm, addr, addr + len, &prev, &rb_link, &rb_parent))
3370 new_vma = vma_merge(mm, prev, addr, addr + len, vma->vm_flags,
3410 vma_link(mm, new_vma, prev, rb_link, rb_parent);