Lines Matching refs:anon_vma

443 		struct anon_vma *anon_vma = vma->anon_vma;  in validate_mm()  local
446 if (anon_vma) { in validate_mm()
447 anon_vma_lock_read(anon_vma); in validate_mm()
450 anon_vma_unlock_read(anon_vma); in validate_mm()
541 anon_vma_interval_tree_remove(avc, &avc->anon_vma->rb_root); in anon_vma_interval_tree_pre_update_vma()
550 anon_vma_interval_tree_insert(avc, &avc->anon_vma->rb_root); in anon_vma_interval_tree_post_update_vma()
734 struct anon_vma *anon_vma = NULL; in vma_adjust() local
776 if (exporter && exporter->anon_vma && !importer->anon_vma) { in vma_adjust()
779 importer->anon_vma = exporter->anon_vma; in vma_adjust()
808 anon_vma = vma->anon_vma; in vma_adjust()
809 if (!anon_vma && adjust_next) in vma_adjust()
810 anon_vma = next->anon_vma; in vma_adjust()
811 if (anon_vma) { in vma_adjust()
812 VM_BUG_ON_VMA(adjust_next && next->anon_vma && in vma_adjust()
813 anon_vma != next->anon_vma, next); in vma_adjust()
814 anon_vma_lock_write(anon_vma); in vma_adjust()
874 if (anon_vma) { in vma_adjust()
878 anon_vma_unlock_write(anon_vma); in vma_adjust()
895 if (next->anon_vma) in vma_adjust()
945 static inline int is_mergeable_anon_vma(struct anon_vma *anon_vma1, in is_mergeable_anon_vma()
946 struct anon_vma *anon_vma2, in is_mergeable_anon_vma()
972 struct anon_vma *anon_vma, struct file *file, pgoff_t vm_pgoff) in can_vma_merge_before() argument
975 is_mergeable_anon_vma(anon_vma, vma->anon_vma, vma)) { in can_vma_merge_before()
991 struct anon_vma *anon_vma, struct file *file, pgoff_t vm_pgoff) in can_vma_merge_after() argument
994 is_mergeable_anon_vma(anon_vma, vma->anon_vma, vma)) { in can_vma_merge_after()
1035 struct anon_vma *anon_vma, struct file *file, in vma_merge() argument
1063 anon_vma, file, pgoff)) { in vma_merge()
1070 anon_vma, file, pgoff+pglen) && in vma_merge()
1071 is_mergeable_anon_vma(prev->anon_vma, in vma_merge()
1072 next->anon_vma, NULL)) { in vma_merge()
1091 anon_vma, file, pgoff+pglen)) { in vma_merge()
1151 static struct anon_vma *reusable_anon_vma(struct vm_area_struct *old, struct vm_area_struct *a, str… in reusable_anon_vma()
1154 struct anon_vma *anon_vma = READ_ONCE(old->anon_vma); in reusable_anon_vma() local
1156 if (anon_vma && list_is_singular(&old->anon_vma_chain)) in reusable_anon_vma()
1157 return anon_vma; in reusable_anon_vma()
1170 struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *vma) in find_mergeable_anon_vma()
1172 struct anon_vma *anon_vma; in find_mergeable_anon_vma() local
1179 anon_vma = reusable_anon_vma(near, vma, near); in find_mergeable_anon_vma()
1180 if (anon_vma) in find_mergeable_anon_vma()
1181 return anon_vma; in find_mergeable_anon_vma()
1187 anon_vma = reusable_anon_vma(near, near, vma); in find_mergeable_anon_vma()
1188 if (anon_vma) in find_mergeable_anon_vma()
1189 return anon_vma; in find_mergeable_anon_vma()
2168 anon_vma_lock_write(vma->anon_vma); in expand_upwards()
2206 anon_vma_unlock_write(vma->anon_vma); in expand_upwards()
2235 anon_vma_lock_write(vma->anon_vma); in expand_downwards()
2271 anon_vma_unlock_write(vma->anon_vma); in expand_downwards()
2894 BUG_ON(vma->anon_vma); in insert_vm_struct()
2927 if (unlikely(!vma->vm_file && !vma->anon_vma)) { in copy_vma()
2935 vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma)); in copy_vma()
3132 static void vm_lock_anon_vma(struct mm_struct *mm, struct anon_vma *anon_vma) in vm_lock_anon_vma() argument
3134 if (!test_bit(0, (unsigned long *) &anon_vma->root->rb_root.rb_node)) { in vm_lock_anon_vma()
3139 down_write_nest_lock(&anon_vma->root->rwsem, &mm->mmap_sem); in vm_lock_anon_vma()
3150 &anon_vma->root->rb_root.rb_node)) in vm_lock_anon_vma()
3223 if (vma->anon_vma) in mm_take_all_locks()
3225 vm_lock_anon_vma(mm, avc->anon_vma); in mm_take_all_locks()
3235 static void vm_unlock_anon_vma(struct anon_vma *anon_vma) in vm_unlock_anon_vma() argument
3237 if (test_bit(0, (unsigned long *) &anon_vma->root->rb_root.rb_node)) { in vm_unlock_anon_vma()
3251 &anon_vma->root->rb_root.rb_node)) in vm_unlock_anon_vma()
3253 anon_vma_unlock_write(anon_vma); in vm_unlock_anon_vma()
3284 if (vma->anon_vma) in mm_drop_all_locks()
3286 vm_unlock_anon_vma(avc->anon_vma); in mm_drop_all_locks()