Lines Matching refs:anon_vma

31 struct anon_vma {  struct
32 struct anon_vma *root; /* Root of this anon_vma tree */ argument
54 struct anon_vma *parent; /* Parent of this anon_vma */ argument
84 struct anon_vma *anon_vma; member
106 static inline void get_anon_vma(struct anon_vma *anon_vma) in get_anon_vma() argument
108 atomic_inc(&anon_vma->refcount); in get_anon_vma()
111 void __put_anon_vma(struct anon_vma *anon_vma);
113 static inline void put_anon_vma(struct anon_vma *anon_vma) in put_anon_vma() argument
115 if (atomic_dec_and_test(&anon_vma->refcount)) in put_anon_vma()
116 __put_anon_vma(anon_vma); in put_anon_vma()
119 static inline void anon_vma_lock_write(struct anon_vma *anon_vma) in anon_vma_lock_write() argument
121 down_write(&anon_vma->root->rwsem); in anon_vma_lock_write()
124 static inline void anon_vma_unlock_write(struct anon_vma *anon_vma) in anon_vma_unlock_write() argument
126 up_write(&anon_vma->root->rwsem); in anon_vma_unlock_write()
129 static inline void anon_vma_lock_read(struct anon_vma *anon_vma) in anon_vma_lock_read() argument
131 down_read(&anon_vma->root->rwsem); in anon_vma_lock_read()
134 static inline int anon_vma_trylock_read(struct anon_vma *anon_vma) in anon_vma_trylock_read() argument
136 return down_read_trylock(&anon_vma->root->rwsem); in anon_vma_trylock_read()
139 static inline void anon_vma_unlock_read(struct anon_vma *anon_vma) in anon_vma_unlock_read() argument
141 up_read(&anon_vma->root->rwsem); in anon_vma_unlock_read()
156 if (likely(vma->anon_vma)) in anon_vma_prepare()
165 VM_BUG_ON_VMA(vma->anon_vma != next->anon_vma, vma); in anon_vma_merge()
169 struct anon_vma *folio_get_anon_vma(struct folio *folio);
466 struct anon_vma *(*anon_lock)(struct folio *folio,
473 struct anon_vma *folio_lock_anon_vma_read(struct folio *folio,