Lines Matching refs:anon_vma

417 		struct anon_vma *anon_vma = vma->anon_vma;  in validate_mm()  local
420 if (anon_vma) { in validate_mm()
421 anon_vma_lock_read(anon_vma); in validate_mm()
424 anon_vma_unlock_read(anon_vma); in validate_mm()
552 anon_vma_interval_tree_remove(avc, &avc->anon_vma->rb_root); in anon_vma_interval_tree_pre_update_vma()
561 anon_vma_interval_tree_insert(avc, &avc->anon_vma->rb_root); in anon_vma_interval_tree_post_update_vma()
786 struct anon_vma *anon_vma = NULL; in __vma_adjust() local
840 if (remove_next == 2 && !next->anon_vma) in __vma_adjust()
869 if (exporter && exporter->anon_vma && !importer->anon_vma) { in __vma_adjust()
872 importer->anon_vma = exporter->anon_vma; in __vma_adjust()
905 anon_vma = vma->anon_vma; in __vma_adjust()
906 if (!anon_vma && adjust_next) in __vma_adjust()
907 anon_vma = next->anon_vma; in __vma_adjust()
908 if (anon_vma) { in __vma_adjust()
909 VM_WARN_ON(adjust_next && next->anon_vma && in __vma_adjust()
910 anon_vma != next->anon_vma); in __vma_adjust()
911 anon_vma_lock_write(anon_vma); in __vma_adjust()
985 if (anon_vma) { in __vma_adjust()
989 anon_vma_unlock_write(anon_vma); in __vma_adjust()
1003 if (next->anon_vma) in __vma_adjust()
1109 static inline int is_mergeable_anon_vma(struct anon_vma *anon_vma1, in is_mergeable_anon_vma()
1110 struct anon_vma *anon_vma2, in is_mergeable_anon_vma()
1136 struct anon_vma *anon_vma, struct file *file, in can_vma_merge_before() argument
1142 is_mergeable_anon_vma(anon_vma, vma->anon_vma, vma)) { in can_vma_merge_before()
1158 struct anon_vma *anon_vma, struct file *file, in can_vma_merge_after() argument
1164 is_mergeable_anon_vma(anon_vma, vma->anon_vma, vma)) { in can_vma_merge_after()
1219 struct anon_vma *anon_vma, struct file *file, in __vma_merge() argument
1251 anon_vma, file, pgoff, in __vma_merge()
1260 anon_vma, file, in __vma_merge()
1264 is_mergeable_anon_vma(prev->anon_vma, in __vma_merge()
1265 next->anon_vma, NULL)) { in __vma_merge()
1286 anon_vma, file, pgoff+pglen, in __vma_merge()
1357 static struct anon_vma *reusable_anon_vma(struct vm_area_struct *old, struct vm_area_struct *a, str… in reusable_anon_vma()
1360 struct anon_vma *anon_vma = READ_ONCE(old->anon_vma); in reusable_anon_vma() local
1362 if (anon_vma && list_is_singular(&old->anon_vma_chain)) in reusable_anon_vma()
1363 return anon_vma; in reusable_anon_vma()
1376 struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *vma) in find_mergeable_anon_vma()
1378 struct anon_vma *anon_vma = NULL; in find_mergeable_anon_vma() local
1382 anon_vma = reusable_anon_vma(vma->vm_next, vma, vma->vm_next); in find_mergeable_anon_vma()
1383 if (anon_vma) in find_mergeable_anon_vma()
1384 return anon_vma; in find_mergeable_anon_vma()
1389 anon_vma = reusable_anon_vma(vma->vm_prev, vma->vm_prev, vma); in find_mergeable_anon_vma()
1401 return anon_vma; in find_mergeable_anon_vma()
2559 anon_vma_lock_write(vma->anon_vma); in expand_upwards()
2600 anon_vma_unlock_write(vma->anon_vma); in expand_upwards()
2639 anon_vma_lock_write(vma->anon_vma); in expand_downwards()
2678 anon_vma_unlock_write(vma->anon_vma); in expand_downwards()
3400 BUG_ON(vma->anon_vma); in insert_vm_struct()
3427 if (unlikely(vma_is_anonymous(vma) && !vma->anon_vma)) { in copy_vma()
3446 vma->anon_vma, vma->vm_file, pgoff, in copy_vma()
3696 static void vm_lock_anon_vma(struct mm_struct *mm, struct anon_vma *anon_vma) in vm_lock_anon_vma() argument
3698 if (!test_bit(0, (unsigned long *) &anon_vma->root->rb_root.rb_root.rb_node)) { in vm_lock_anon_vma()
3703 down_write_nest_lock(&anon_vma->root->rwsem, &mm->mmap_lock); in vm_lock_anon_vma()
3714 &anon_vma->root->rb_root.rb_root.rb_node)) in vm_lock_anon_vma()
3802 if (vma->anon_vma) in mm_take_all_locks()
3804 vm_lock_anon_vma(mm, avc->anon_vma); in mm_take_all_locks()
3814 static void vm_unlock_anon_vma(struct anon_vma *anon_vma) in vm_unlock_anon_vma() argument
3816 if (test_bit(0, (unsigned long *) &anon_vma->root->rb_root.rb_root.rb_node)) { in vm_unlock_anon_vma()
3830 &anon_vma->root->rb_root.rb_root.rb_node)) in vm_unlock_anon_vma()
3832 anon_vma_unlock_write(anon_vma); in vm_unlock_anon_vma()
3863 if (vma->anon_vma) in mm_drop_all_locks()
3865 vm_unlock_anon_vma(avc->anon_vma); in mm_drop_all_locks()