Lines Matching refs:root
81 anon_vma->root = anon_vma; in anon_vma_alloc()
109 if (rwsem_is_locked(&anon_vma->root->rwsem)) { in anon_vma_free()
222 static inline struct anon_vma *lock_anon_vma_root(struct anon_vma *root, struct anon_vma *anon_vma) in lock_anon_vma_root() argument
224 struct anon_vma *new_root = anon_vma->root; in lock_anon_vma_root()
225 if (new_root != root) { in lock_anon_vma_root()
226 if (WARN_ON_ONCE(root)) in lock_anon_vma_root()
227 up_write(&root->rwsem); in lock_anon_vma_root()
228 root = new_root; in lock_anon_vma_root()
229 down_write(&root->rwsem); in lock_anon_vma_root()
231 return root; in lock_anon_vma_root()
234 static inline void unlock_anon_vma_root(struct anon_vma *root) in unlock_anon_vma_root() argument
236 if (root) in unlock_anon_vma_root()
237 up_write(&root->rwsem); in unlock_anon_vma_root()
255 struct anon_vma *root = NULL; in anon_vma_clone() local
262 unlock_anon_vma_root(root); in anon_vma_clone()
263 root = NULL; in anon_vma_clone()
269 root = lock_anon_vma_root(root, anon_vma); in anon_vma_clone()
286 unlock_anon_vma_root(root); in anon_vma_clone()
343 anon_vma->root = pvma->anon_vma->root; in anon_vma_fork()
350 get_anon_vma(anon_vma->root); in anon_vma_fork()
370 struct anon_vma *root = NULL; in unlink_anon_vmas() local
379 root = lock_anon_vma_root(root, anon_vma); in unlink_anon_vmas()
396 unlock_anon_vma_root(root); in unlink_anon_vmas()
510 root_anon_vma = ACCESS_ONCE(anon_vma->root); in page_lock_anon_vma_read()
598 vma->anon_vma->root != page__anon_vma->root) in page_address_in_vma()
979 anon_vma = anon_vma->root; in __page_set_anon_rmap()
1008 BUG_ON(page_anon_vma(page)->root != vma->anon_vma->root); in __page_check_anon_rmap()
1639 struct anon_vma *root = anon_vma->root; in __put_anon_vma() local
1642 if (root != anon_vma && atomic_dec_and_test(&root->refcount)) in __put_anon_vma()
1643 anon_vma_free(root); in __put_anon_vma()
1793 anon_vma = anon_vma->root; in __hugepage_set_anon_rmap()