Symbol: anon_vma
fs/coredump.c
1642
if ((!IS_ENABLED(CONFIG_MMU) || vma->anon_vma) && FILTER(ANON_PRIVATE))
include/linux/mm.h
42
struct anon_vma;
include/linux/mm_types.h
987
struct anon_vma *anon_vma; /* Serialized by page_table_lock */
include/linux/rmap.h
33
struct anon_vma *root; /* Root of this anon_vma tree */
include/linux/rmap.h
393
struct anon_vma *anon_vma;
include/linux/rmap.h
395
anon_vma = (void *)(mapping - FOLIO_MAPPING_ANON);
include/linux/rmap.h
396
VM_WARN_ON_FOLIO(atomic_read(&anon_vma->refcount) == 0, folio);
include/linux/rmap.h
55
struct anon_vma *parent; /* Parent of this anon_vma */
include/linux/rmap.h
85
struct anon_vma *anon_vma;
include/linux/rmap.h
962
struct anon_vma *(*anon_lock)(const struct folio *folio,
include/linux/rmap.h
969
struct anon_vma *folio_lock_anon_vma_read(const struct folio *folio,
mm/debug.c
166
vma->anon_vma, vma->vm_ops, vma->vm_pgoff,
mm/debug.c
260
vmg->file, vmg->anon_vma, vmg->policy,
mm/huge_memory.c
2131
VM_BUG_ON_VMA(!vma->anon_vma, vma);
mm/huge_memory.c
215
if (!vma->anon_vma)
mm/huge_memory.c
4038
struct anon_vma *anon_vma = NULL;
mm/huge_memory.c
4074
anon_vma = folio_get_anon_vma(folio);
mm/huge_memory.c
4075
if (!anon_vma) {
mm/huge_memory.c
4079
anon_vma_lock_write(anon_vma);
mm/huge_memory.c
4109
anon_vma = NULL;
mm/huge_memory.c
4187
if (anon_vma) {
mm/huge_memory.c
4188
anon_vma_unlock_write(anon_vma);
mm/huge_memory.c
4189
put_anon_vma(anon_vma);
mm/internal.h
1118
struct anon_vma *folio_anon_vma(const struct folio *folio);
mm/internal.h
206
static inline void get_anon_vma(struct anon_vma *anon_vma)
mm/internal.h
208
atomic_inc(&anon_vma->refcount);
mm/internal.h
211
void __put_anon_vma(struct anon_vma *anon_vma);
mm/internal.h
213
static inline void put_anon_vma(struct anon_vma *anon_vma)
mm/internal.h
215
if (atomic_dec_and_test(&anon_vma->refcount))
mm/internal.h
216
__put_anon_vma(anon_vma);
mm/internal.h
219
static inline void anon_vma_lock_write(struct anon_vma *anon_vma)
mm/internal.h
221
down_write(&anon_vma->root->rwsem);
mm/internal.h
224
static inline int anon_vma_trylock_write(struct anon_vma *anon_vma)
mm/internal.h
226
return down_write_trylock(&anon_vma->root->rwsem);
mm/internal.h
229
static inline void anon_vma_unlock_write(struct anon_vma *anon_vma)
mm/internal.h
231
up_write(&anon_vma->root->rwsem);
mm/internal.h
234
static inline void anon_vma_lock_read(struct anon_vma *anon_vma)
mm/internal.h
236
down_read(&anon_vma->root->rwsem);
mm/internal.h
239
static inline int anon_vma_trylock_read(struct anon_vma *anon_vma)
mm/internal.h
241
return down_read_trylock(&anon_vma->root->rwsem);
mm/internal.h
244
static inline void anon_vma_unlock_read(struct anon_vma *anon_vma)
mm/internal.h
246
up_read(&anon_vma->root->rwsem);
mm/internal.h
249
struct anon_vma *folio_get_anon_vma(const struct folio *folio);
mm/internal.h
267
if (likely(vma->anon_vma))
mm/khugepaged.c
1167
anon_vma_lock_write(vma->anon_vma);
mm/khugepaged.c
1208
anon_vma_unlock_write(vma->anon_vma);
mm/khugepaged.c
1216
anon_vma_unlock_write(vma->anon_vma);
mm/khugepaged.c
1745
if (READ_ONCE(vma->anon_vma))
mm/khugepaged.c
934
if (expect_anon && (!(*vmap)->anon_vma || !vma_is_anonymous(*vmap)))
mm/ksm.c
1054
put_anon_vma(rmap_item->anon_vma);
mm/ksm.c
1224
if (!(vma->vm_flags & VM_MERGEABLE) || !vma->anon_vma)
mm/ksm.c
1602
rmap_item->anon_vma = vma->anon_vma;
mm/ksm.c
1603
get_anon_vma(vma->anon_vma);
mm/ksm.c
204
struct anon_vma *anon_vma; /* when stable */
mm/ksm.c
2660
if (!vma->anon_vma)
mm/ksm.c
2852
if (vma->anon_vma) {
mm/ksm.c
3004
if (vma->anon_vma) {
mm/ksm.c
3111
struct anon_vma *anon_vma = folio_anon_vma(folio);
mm/ksm.c
3121
} else if (!anon_vma) {
mm/ksm.c
3124
anon_vma->root == vma->anon_vma->root) {
mm/ksm.c
3176
struct anon_vma *anon_vma = rmap_item->anon_vma;
mm/ksm.c
3181
if (!anon_vma_trylock_read(anon_vma)) {
mm/ksm.c
3186
anon_vma_lock_read(anon_vma);
mm/ksm.c
3189
anon_vma_interval_tree_foreach(vmac, &anon_vma->rb_root,
mm/ksm.c
3210
anon_vma_unlock_read(anon_vma);
mm/ksm.c
3214
anon_vma_unlock_read(anon_vma);
mm/ksm.c
3218
anon_vma_unlock_read(anon_vma);
mm/ksm.c
3240
struct anon_vma *av = rmap_item->anon_vma;
mm/ksm.c
774
if (!vma || !(vma->vm_flags & VM_MERGEABLE) || !vma->anon_vma)
mm/ksm.c
789
put_anon_vma(rmap_item->anon_vma);
mm/ksm.c
901
put_anon_vma(rmap_item->anon_vma);
mm/madvise.c
1148
VM_WARN_ON_ONCE(!vma->anon_vma &&
mm/madvise.c
1611
prepares_anon_vma(madv_behavior->behavior) && !vma->anon_vma)
mm/memory-failure.c
550
struct anon_vma *av;
mm/memory.c
1478
if (src_vma->anon_vma)
mm/memory.c
3807
if (likely(vma->anon_vma))
mm/memory.c
605
(void *)addr, vma->vm_flags, vma->anon_vma, mapping, index);
mm/migrate.c
1143
struct anon_vma *anon_vma)
mm/migrate.c
1145
dst->private = (void *)anon_vma + old_page_state;
mm/migrate.c
1150
struct anon_vma **anon_vmap)
mm/migrate.c
1154
*anon_vmap = (struct anon_vma *)(private & ~PAGE_OLD_STATES);
mm/migrate.c
1162
struct anon_vma *anon_vma,
mm/migrate.c
1169
if (anon_vma)
mm/migrate.c
1170
put_anon_vma(anon_vma);
mm/migrate.c
1211
struct anon_vma *anon_vma = NULL;
mm/migrate.c
1288
anon_vma = folio_get_anon_vma(src);
mm/migrate.c
1303
__migrate_folio_record(dst, old_page_state, anon_vma);
mm/migrate.c
1327
!folio_test_ksm(src) && !anon_vma, src);
mm/migrate.c
1333
__migrate_folio_record(dst, old_page_state, anon_vma);
mm/migrate.c
1346
anon_vma, locked, ret);
mm/migrate.c
1360
struct anon_vma *anon_vma = NULL;
mm/migrate.c
1365
__migrate_folio_extract(dst, &old_page_state, &anon_vma);
mm/migrate.c
1427
if (anon_vma)
mm/migrate.c
1428
put_anon_vma(anon_vma);
mm/migrate.c
1440
__migrate_folio_record(dst, old_page_state, anon_vma);
mm/migrate.c
1445
anon_vma, true, ret);
mm/migrate.c
1477
struct anon_vma *anon_vma = NULL;
mm/migrate.c
1514
anon_vma = folio_get_anon_vma(src);
mm/migrate.c
1551
if (anon_vma)
mm/migrate.c
1552
put_anon_vma(anon_vma);
mm/migrate.c
1779
struct anon_vma *anon_vma = NULL;
mm/migrate.c
1781
__migrate_folio_extract(dst, &old_page_state, &anon_vma);
mm/migrate.c
1783
anon_vma, true, ret_folios);
mm/mmap.c
1802
tmp->anon_vma = NULL;
mm/mprotect.c
755
vma_is_anonymous(vma) && !vma->anon_vma) {
mm/mremap.c
147
if (vma->anon_vma)
mm/mremap.c
148
anon_vma_lock_write(vma->anon_vma);
mm/mremap.c
153
if (vma->anon_vma)
mm/mremap.c
154
anon_vma_unlock_write(vma->anon_vma);
mm/rmap.c
104
anon_vma->root = anon_vma;
mm/rmap.c
107
return anon_vma;
mm/rmap.c
110
static inline void anon_vma_free(struct anon_vma *anon_vma)
mm/rmap.c
112
VM_BUG_ON(atomic_read(&anon_vma->refcount));
mm/rmap.c
132
if (rwsem_is_locked(&anon_vma->root->rwsem)) {
mm/rmap.c
133
anon_vma_lock_write(anon_vma);
mm/rmap.c
134
anon_vma_unlock_write(anon_vma);
mm/rmap.c
137
kmem_cache_free(anon_vma_cachep, anon_vma);
mm/rmap.c
1442
void *anon_vma = vma->anon_vma;
mm/rmap.c
1445
VM_BUG_ON_VMA(!anon_vma, vma);
mm/rmap.c
1447
anon_vma += FOLIO_MAPPING_ANON;
mm/rmap.c
1453
WRITE_ONCE(folio->mapping, anon_vma);
mm/rmap.c
1466
struct anon_vma *anon_vma = vma->anon_vma;
mm/rmap.c
1468
BUG_ON(!anon_vma);
mm/rmap.c
1475
anon_vma = anon_vma->root;
mm/rmap.c
1483
anon_vma = (void *) anon_vma + FOLIO_MAPPING_ANON;
mm/rmap.c
1484
WRITE_ONCE(folio->mapping, (struct address_space *) anon_vma);
mm/rmap.c
1510
VM_BUG_ON_FOLIO(folio_anon_vma(folio)->root != vma->anon_vma->root,
mm/rmap.c
152
struct anon_vma *anon_vma)
mm/rmap.c
155
avc->anon_vma = anon_vma;
mm/rmap.c
188
struct anon_vma *anon_vma, *allocated;
mm/rmap.c
198
anon_vma = find_mergeable_anon_vma(vma);
mm/rmap.c
200
if (!anon_vma) {
mm/rmap.c
201
anon_vma = anon_vma_alloc();
mm/rmap.c
202
if (unlikely(!anon_vma))
mm/rmap.c
204
anon_vma->num_children++; /* self-parent link for new root */
mm/rmap.c
205
allocated = anon_vma;
mm/rmap.c
208
anon_vma_lock_write(anon_vma);
mm/rmap.c
211
if (likely(!vma->anon_vma)) {
mm/rmap.c
212
vma->anon_vma = anon_vma;
mm/rmap.c
213
anon_vma_chain_assign(vma, avc, anon_vma);
mm/rmap.c
214
anon_vma_interval_tree_insert(avc, &anon_vma->rb_root);
mm/rmap.c
215
anon_vma->num_active_vmas++;
mm/rmap.c
220
anon_vma_unlock_write(anon_vma);
mm/rmap.c
245
VM_WARN_ON_ONCE(!src->anon_vma && !list_empty(&src->anon_vma_chain));
mm/rmap.c
246
VM_WARN_ON_ONCE(!src->anon_vma && dst->anon_vma);
mm/rmap.c
253
VM_WARN_ON_ONCE(dst->anon_vma && dst->anon_vma != src->anon_vma);
mm/rmap.c
258
VM_WARN_ON_ONCE(operation != VMA_OP_FORK && src->anon_vma &&
mm/rmap.c
259
!dst->anon_vma);
mm/rmap.c
271
struct anon_vma *anon_vma)
mm/rmap.c
274
if (dst->anon_vma)
mm/rmap.c
281
if (anon_vma->num_active_vmas > 0)
mm/rmap.c
283
if (anon_vma->num_children > 1)
mm/rmap.c
286
dst->anon_vma = anon_vma;
mm/rmap.c
287
anon_vma->num_active_vmas++;
mm/rmap.c
2911
void __put_anon_vma(struct anon_vma *anon_vma)
mm/rmap.c
2913
struct anon_vma *root = anon_vma->root;
mm/rmap.c
2915
anon_vma_free(anon_vma);
mm/rmap.c
2916
if (root != anon_vma && atomic_dec_and_test(&root->refcount))
mm/rmap.c
2920
static struct anon_vma *rmap_walk_anon_lock(const struct folio *folio,
mm/rmap.c
2923
struct anon_vma *anon_vma;
mm/rmap.c
2934
anon_vma = folio_anon_vma(folio);
mm/rmap.c
2935
if (!anon_vma)
mm/rmap.c
2938
if (anon_vma_trylock_read(anon_vma))
mm/rmap.c
2942
anon_vma = NULL;
mm/rmap.c
2947
anon_vma_lock_read(anon_vma);
mm/rmap.c
2949
return anon_vma;
mm/rmap.c
2965
struct anon_vma *anon_vma;
mm/rmap.c
2976
anon_vma = folio_anon_vma(folio);
mm/rmap.c
2978
VM_BUG_ON_FOLIO(!anon_vma, folio);
mm/rmap.c
2980
anon_vma = rmap_walk_anon_lock(folio, rwc);
mm/rmap.c
2982
if (!anon_vma)
mm/rmap.c
2987
anon_vma_interval_tree_foreach(avc, &anon_vma->rb_root,
mm/rmap.c
3006
anon_vma_unlock_read(anon_vma);
mm/rmap.c
324
struct anon_vma *active_anon_vma = src->anon_vma;
mm/rmap.c
346
anon_vma_chain_assign(dst, avc, pavc->anon_vma);
mm/rmap.c
353
anon_vma_lock_write(src->anon_vma);
mm/rmap.c
355
struct anon_vma *anon_vma = avc->anon_vma;
mm/rmap.c
357
anon_vma_interval_tree_insert(avc, &anon_vma->rb_root);
mm/rmap.c
359
maybe_reuse_anon_vma(dst, anon_vma);
mm/rmap.c
363
dst->anon_vma->num_active_vmas++;
mm/rmap.c
381
struct anon_vma *anon_vma;
mm/rmap.c
385
if (!pvma->anon_vma)
mm/rmap.c
389
vma->anon_vma = NULL;
mm/rmap.c
391
anon_vma = anon_vma_alloc();
mm/rmap.c
392
if (!anon_vma)
mm/rmap.c
396
put_anon_vma(anon_vma);
mm/rmap.c
406
if (rc || vma->anon_vma) {
mm/rmap.c
407
put_anon_vma(anon_vma);
mm/rmap.c
419
anon_vma->num_active_vmas = 1;
mm/rmap.c
424
anon_vma->root = pvma->anon_vma->root;
mm/rmap.c
425
anon_vma->parent = pvma->anon_vma;
mm/rmap.c
431
get_anon_vma(anon_vma->root);
mm/rmap.c
433
vma->anon_vma = anon_vma;
mm/rmap.c
434
anon_vma_chain_assign(vma, avc, anon_vma);
mm/rmap.c
436
anon_vma_lock_write(anon_vma);
mm/rmap.c
437
anon_vma_interval_tree_insert(avc, &anon_vma->rb_root);
mm/rmap.c
438
anon_vma->parent->num_children++;
mm/rmap.c
439
anon_vma_unlock_write(anon_vma);
mm/rmap.c
466
vma->anon_vma = NULL;
mm/rmap.c
482
struct anon_vma *active_anon_vma = vma->anon_vma;
mm/rmap.c
500
struct anon_vma *anon_vma = avc->anon_vma;
mm/rmap.c
502
anon_vma_interval_tree_remove(avc, &anon_vma->rb_root);
mm/rmap.c
508
if (RB_EMPTY_ROOT(&anon_vma->rb_root.rb_root)) {
mm/rmap.c
509
anon_vma->parent->num_children--;
mm/rmap.c
522
vma->anon_vma = NULL;
mm/rmap.c
532
struct anon_vma *anon_vma = avc->anon_vma;
mm/rmap.c
534
VM_WARN_ON(anon_vma->num_children);
mm/rmap.c
535
VM_WARN_ON(anon_vma->num_active_vmas);
mm/rmap.c
536
put_anon_vma(anon_vma);
mm/rmap.c
545
struct anon_vma *anon_vma = data;
mm/rmap.c
547
init_rwsem(&anon_vma->rwsem);
mm/rmap.c
548
atomic_set(&anon_vma->refcount, 0);
mm/rmap.c
549
anon_vma->rb_root = RB_ROOT_CACHED;
mm/rmap.c
554
anon_vma_cachep = kmem_cache_create("anon_vma", sizeof(struct anon_vma),
mm/rmap.c
587
struct anon_vma *folio_get_anon_vma(const struct folio *folio)
mm/rmap.c
589
struct anon_vma *anon_vma = NULL;
mm/rmap.c
601
anon_vma = (struct anon_vma *) (anon_mapping - FOLIO_MAPPING_ANON);
mm/rmap.c
602
if (!atomic_inc_not_zero(&anon_vma->refcount)) {
mm/rmap.c
603
anon_vma = NULL;
mm/rmap.c
616
put_anon_vma(anon_vma);
mm/rmap.c
622
return anon_vma;
mm/rmap.c
633
struct anon_vma *folio_lock_anon_vma_read(const struct folio *folio,
mm/rmap.c
636
struct anon_vma *anon_vma = NULL;
mm/rmap.c
637
struct anon_vma *root_anon_vma;
mm/rmap.c
649
anon_vma = (struct anon_vma *) (anon_mapping - FOLIO_MAPPING_ANON);
mm/rmap.c
650
root_anon_vma = READ_ONCE(anon_vma->root);
mm/rmap.c
659
anon_vma = NULL;
mm/rmap.c
665
anon_vma = NULL;
mm/rmap.c
671
if (!atomic_inc_not_zero(&anon_vma->refcount)) {
mm/rmap.c
672
anon_vma = NULL;
mm/rmap.c
678
put_anon_vma(anon_vma);
mm/rmap.c
684
anon_vma_lock_read(anon_vma);
mm/rmap.c
686
if (atomic_dec_and_test(&anon_vma->refcount)) {
mm/rmap.c
692
anon_vma_unlock_read(anon_vma);
mm/rmap.c
693
__put_anon_vma(anon_vma);
mm/rmap.c
694
anon_vma = NULL;
mm/rmap.c
697
return anon_vma;
mm/rmap.c
701
return anon_vma;
mm/rmap.c
860
struct anon_vma *anon_vma = folio_anon_vma(folio);
mm/rmap.c
865
if (!vma->anon_vma || !anon_vma ||
mm/rmap.c
866
vma->anon_vma->root != anon_vma->root)
mm/rmap.c
90
static inline struct anon_vma *anon_vma_alloc(void)
mm/rmap.c
92
struct anon_vma *anon_vma;
mm/rmap.c
94
anon_vma = kmem_cache_alloc(anon_vma_cachep, GFP_KERNEL);
mm/rmap.c
95
if (anon_vma) {
mm/rmap.c
96
atomic_set(&anon_vma->refcount, 1);
mm/rmap.c
97
anon_vma->num_children = 0;
mm/rmap.c
98
anon_vma->num_active_vmas = 0;
mm/rmap.c
99
anon_vma->parent = anon_vma;
mm/swapfile.c
2513
if (vma->anon_vma && !is_vm_hugetlb_page(vma)) {
mm/userfaultfd.c
80
if (!(vma->vm_flags & VM_SHARED) && unlikely(!vma->anon_vma))
mm/util.c
700
struct anon_vma *folio_anon_vma(const struct folio *folio)
mm/vma.c
110
struct anon_vma *tgt_anon = tgt->anon_vma;
mm/vma.c
111
struct anon_vma *src_anon = vmg->anon_vma;
mm/vma.c
118
VM_WARN_ON(src && src_anon != src->anon_vma);
mm/vma.c
154
vp->anon_vma = vma->anon_vma;
mm/vma.c
171
if (!vp->anon_vma && adjust)
mm/vma.c
172
vp->anon_vma = adjust->anon_vma;
mm/vma.c
174
VM_WARN_ON(vp->anon_vma && adjust && adjust->anon_vma &&
mm/vma.c
175
vp->anon_vma != adjust->anon_vma);
mm/vma.c
1880
if (unlikely(vma_is_anonymous(vma) && !vma->anon_vma)) {
mm/vma.c
2007
static struct anon_vma *reusable_anon_vma(struct vm_area_struct *old,
mm/vma.c
2012
struct anon_vma *anon_vma = READ_ONCE(old->anon_vma);
mm/vma.c
2014
if (anon_vma && list_is_singular(&old->anon_vma_chain))
mm/vma.c
2015
return anon_vma;
mm/vma.c
2028
struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *vma)
mm/vma.c
2030
struct anon_vma *anon_vma = NULL;
mm/vma.c
2037
anon_vma = reusable_anon_vma(next, vma, next);
mm/vma.c
2038
if (anon_vma)
mm/vma.c
2039
return anon_vma;
mm/vma.c
2047
anon_vma = reusable_anon_vma(prev, prev, vma);
mm/vma.c
2059
return anon_vma;
mm/vma.c
2142
static void vm_lock_anon_vma(struct mm_struct *mm, struct anon_vma *anon_vma)
mm/vma.c
2144
if (!test_bit(0, (unsigned long *) &anon_vma->root->rb_root.rb_root.rb_node)) {
mm/vma.c
2149
down_write_nest_lock(&anon_vma->root->rwsem, &mm->mmap_lock);
mm/vma.c
2160
&anon_vma->root->rb_root.rb_root.rb_node))
mm/vma.c
2265
if (vma->anon_vma)
mm/vma.c
2267
vm_lock_anon_vma(mm, avc->anon_vma);
mm/vma.c
2277
static void vm_unlock_anon_vma(struct anon_vma *anon_vma)
mm/vma.c
2279
if (test_bit(0, (unsigned long *) &anon_vma->root->rb_root.rb_root.rb_node)) {
mm/vma.c
2293
&anon_vma->root->rb_root.rb_root.rb_node))
mm/vma.c
2295
anon_vma_unlock_write(anon_vma);
mm/vma.c
2327
if (vma->anon_vma)
mm/vma.c
2329
vm_unlock_anon_vma(avc->anon_vma);
mm/vma.c
275
anon_vma_interval_tree_remove(avc, &avc->anon_vma->rb_root);
mm/vma.c
284
anon_vma_interval_tree_insert(avc, &avc->anon_vma->rb_root);
mm/vma.c
313
if (vp->anon_vma) {
mm/vma.c
314
anon_vma_lock_write(vp->anon_vma);
mm/vma.c
3162
anon_vma_lock_write(vma->anon_vma);
mm/vma.c
3188
anon_vma_unlock_write(vma->anon_vma);
mm/vma.c
3241
anon_vma_lock_write(vma->anon_vma);
mm/vma.c
3268
anon_vma_unlock_write(vma->anon_vma);
mm/vma.c
3320
BUG_ON(vma->anon_vma);
mm/vma.c
363
if (vp->anon_vma) {
mm/vma.c
367
anon_vma_unlock_write(vp->anon_vma);
mm/vma.c
389
if (vp->remove->anon_vma)
mm/vma.c
459
return !prev->anon_vma || !next->anon_vma ||
mm/vma.c
460
prev->anon_vma == next->anon_vma;
mm/vma.c
629
if (src->anon_vma && !dst->anon_vma) {
mm/vma.c
633
dst->anon_vma = src->anon_vma;
mm/vma.c
655
struct anon_vma *anon_vma = vma->anon_vma;
mm/vma.c
679
if (anon_vma) {
mm/vma.c
680
anon_vma_lock_read(anon_vma);
mm/vma.c
683
anon_vma_unlock_read(anon_vma);
mm/vma.c
81
return vma && vma->anon_vma && !list_is_singular(&vma->anon_vma_chain);
mm/vma.c
941
err = dup_anon_vma(prev, next->anon_vma ? next : middle,
mm/vma.h
107
struct anon_vma *anon_vma;
mm/vma.h
18
struct anon_vma *anon_vma;
mm/vma.h
263
.anon_vma = vma_->anon_vma, \
mm/vma.h
454
struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *vma);
mm/vma_init.c
48
dest->anon_vma = src->anon_vma;
security/selinux/hooks.c
4139
} else if (file && vma->anon_vma) {
tools/testing/vma/include/custom.h
27
struct anon_vma *root;
tools/testing/vma/include/custom.h
38
vma->anon_vma->was_unlinked = true;
tools/testing/vma/include/custom.h
59
if (src->anon_vma != NULL) {
tools/testing/vma/include/custom.h
60
dst->anon_vma = src->anon_vma;
tools/testing/vma/include/custom.h
61
dst->anon_vma->was_cloned = true;
tools/testing/vma/include/custom.h
69
struct anon_vma *anon_vma = calloc(1, sizeof(struct anon_vma));
tools/testing/vma/include/custom.h
71
if (!anon_vma)
tools/testing/vma/include/custom.h
74
anon_vma->root = anon_vma;
tools/testing/vma/include/custom.h
75
vma->anon_vma = anon_vma;
tools/testing/vma/include/custom.h
82
if (likely(vma->anon_vma))
tools/testing/vma/include/dup.h
57
struct anon_vma *anon_vma;
tools/testing/vma/include/dup.h
598
struct anon_vma *anon_vma; /* Serialized by page_table_lock */
tools/testing/vma/include/stubs.h
134
static inline void anon_vma_unlock_write(struct anon_vma *anon_vma)
tools/testing/vma/include/stubs.h
17
struct anon_vma;
tools/testing/vma/include/stubs.h
296
static inline void anon_vma_lock_write(struct anon_vma *anon_vma)
tools/testing/vma/shared.c
100
struct anon_vma_chain *avc, struct anon_vma *anon_vma)
tools/testing/vma/shared.c
102
vma->anon_vma = anon_vma;
tools/testing/vma/shared.c
105
avc->anon_vma = vma->anon_vma;
tools/testing/vma/shared.c
12
struct anon_vma dummy_anon_vma;
tools/testing/vma/shared.h
123
struct anon_vma_chain *avc, struct anon_vma *anon_vma);
tools/testing/vma/shared.h
71
extern struct anon_vma dummy_anon_vma;
tools/testing/vma/tests/merge.c
1093
struct anon_vma dummy_anon_vma_2;
tools/testing/vma/tests/merge.c
1153
vmg.anon_vma = NULL;
tools/testing/vma/tests/merge.c
1179
.anon_vma = &dummy_anon_vma,
tools/testing/vma/tests/merge.c
1194
vma_next->anon_vma = &dummy_anon_vma;
tools/testing/vma/tests/merge.c
1203
ASSERT_EQ(vma_prev->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
1204
ASSERT_TRUE(vma_prev->anon_vma->was_cloned);
tools/testing/vma/tests/merge.c
1226
vma_next->anon_vma = &dummy_anon_vma;
tools/testing/vma/tests/merge.c
1237
ASSERT_EQ(vma_prev->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
1238
ASSERT_TRUE(vma_prev->anon_vma->was_cloned);
tools/testing/vma/tests/merge.c
1254
vmg.anon_vma = &dummy_anon_vma;
tools/testing/vma/tests/merge.c
1266
ASSERT_EQ(vma_prev->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
1267
ASSERT_TRUE(vma_prev->anon_vma->was_cloned);
tools/testing/vma/tests/merge.c
1294
ASSERT_EQ(vma_prev->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
1295
ASSERT_TRUE(vma_prev->anon_vma->was_cloned);
tools/testing/vma/tests/merge.c
1322
ASSERT_EQ(vma_next->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
1323
ASSERT_TRUE(vma_next->anon_vma->was_cloned);
tools/testing/vma/tests/merge.c
1350
vma->anon_vma = &dummy_anon_vma;
tools/testing/vma/tests/merge.c
1363
ASSERT_EQ(vma_prev->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
1378
vma->anon_vma = &dummy_anon_vma;
tools/testing/vma/tests/merge.c
1388
ASSERT_EQ(vma_prev->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
253
.anon_vma = &dummy_anon_vma,
tools/testing/vma/tests/merge.c
256
.anon_vma = &dummy_anon_vma,
tools/testing/vma/tests/merge.c
259
.anon_vma = &dummy_anon_vma,
tools/testing/vma/tests/merge.c
262
.anon_vma = &dummy_anon_vma,
tools/testing/vma/tests/merge.c
320
vma_b->anon_vma = &dummy_anon_vma;
tools/testing/vma/tests/merge.c
328
ASSERT_EQ(vma->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
347
ASSERT_EQ(vma->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
359
vma_d->anon_vma = &dummy_anon_vma;
tools/testing/vma/tests/merge.c
368
ASSERT_EQ(vma->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
388
ASSERT_EQ(vma->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
400
vma_c->anon_vma = &dummy_anon_vma;
tools/testing/vma/tests/merge.c
408
ASSERT_EQ(vma->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
427
ASSERT_EQ(vma->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
447
ASSERT_EQ(vma->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
60
struct anon_vma *anon_vma)
tools/testing/vma/tests/merge.c
63
vmg->anon_vma = anon_vma;
tools/testing/vma/tests/merge.c
865
ASSERT_EQ(vma_next->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
899
ASSERT_EQ(vma_next->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
931
ASSERT_EQ(vma_prev->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
966
ASSERT_EQ(vma_prev->anon_vma, &dummy_anon_vma);
tools/testing/vma/tests/merge.c
998
ASSERT_EQ(vma_prev->anon_vma, &dummy_anon_vma);