Lines Matching refs:root
104 anon_vma->root = anon_vma; in anon_vma_alloc()
132 if (rwsem_is_locked(&anon_vma->root->rwsem)) { in anon_vma_free()
243 static inline struct anon_vma *lock_anon_vma_root(struct anon_vma *root, struct anon_vma *anon_vma) in lock_anon_vma_root() argument
245 struct anon_vma *new_root = anon_vma->root; in lock_anon_vma_root()
246 if (new_root != root) { in lock_anon_vma_root()
247 if (WARN_ON_ONCE(root)) in lock_anon_vma_root()
248 up_write(&root->rwsem); in lock_anon_vma_root()
249 root = new_root; in lock_anon_vma_root()
250 down_write(&root->rwsem); in lock_anon_vma_root()
252 return root; in lock_anon_vma_root()
255 static inline void unlock_anon_vma_root(struct anon_vma *root) in unlock_anon_vma_root() argument
257 if (root) in unlock_anon_vma_root()
258 up_write(&root->rwsem); in unlock_anon_vma_root()
283 struct anon_vma *root = NULL; in anon_vma_clone() local
290 unlock_anon_vma_root(root); in anon_vma_clone()
291 root = NULL; in anon_vma_clone()
297 root = lock_anon_vma_root(root, anon_vma); in anon_vma_clone()
314 unlock_anon_vma_root(root); in anon_vma_clone()
372 anon_vma->root = pvma->anon_vma->root; in anon_vma_fork()
379 get_anon_vma(anon_vma->root); in anon_vma_fork()
399 struct anon_vma *root = NULL; in unlink_anon_vmas() local
408 root = lock_anon_vma_root(root, anon_vma); in unlink_anon_vmas()
432 unlock_anon_vma_root(root); in unlink_anon_vmas()
559 root_anon_vma = READ_ONCE(anon_vma->root); in folio_lock_anon_vma_read()
798 vma->anon_vma->root != anon_vma->root) in page_address_in_vma()
1365 anon_vma = anon_vma->root; in __folio_set_anon()
1400 VM_BUG_ON_FOLIO(folio_anon_vma(folio)->root != vma->anon_vma->root, in __page_check_anon_rmap()
2762 struct anon_vma *root = anon_vma->root; in __put_anon_vma() local
2765 if (root != anon_vma && atomic_dec_and_test(&root->refcount)) in __put_anon_vma()
2766 anon_vma_free(root); in __put_anon_vma()