Lines Matching refs:root
86 anon_vma->root = anon_vma; in anon_vma_alloc()
114 if (rwsem_is_locked(&anon_vma->root->rwsem)) { in anon_vma_free()
227 static inline struct anon_vma *lock_anon_vma_root(struct anon_vma *root, struct anon_vma *anon_vma) in lock_anon_vma_root() argument
229 struct anon_vma *new_root = anon_vma->root; in lock_anon_vma_root()
230 if (new_root != root) { in lock_anon_vma_root()
231 if (WARN_ON_ONCE(root)) in lock_anon_vma_root()
232 up_write(&root->rwsem); in lock_anon_vma_root()
233 root = new_root; in lock_anon_vma_root()
234 down_write(&root->rwsem); in lock_anon_vma_root()
236 return root; in lock_anon_vma_root()
239 static inline void unlock_anon_vma_root(struct anon_vma *root) in unlock_anon_vma_root() argument
241 if (root) in unlock_anon_vma_root()
242 up_write(&root->rwsem); in unlock_anon_vma_root()
260 struct anon_vma *root = NULL; in anon_vma_clone() local
267 unlock_anon_vma_root(root); in anon_vma_clone()
268 root = NULL; in anon_vma_clone()
274 root = lock_anon_vma_root(root, anon_vma); in anon_vma_clone()
291 unlock_anon_vma_root(root); in anon_vma_clone()
348 anon_vma->root = pvma->anon_vma->root; in anon_vma_fork()
355 get_anon_vma(anon_vma->root); in anon_vma_fork()
375 struct anon_vma *root = NULL; in unlink_anon_vmas() local
384 root = lock_anon_vma_root(root, anon_vma); in unlink_anon_vmas()
401 unlock_anon_vma_root(root); in unlink_anon_vmas()
515 root_anon_vma = READ_ONCE(anon_vma->root); in page_lock_anon_vma_read()
704 vma->anon_vma->root != page__anon_vma->root) in page_address_in_vma()
1095 anon_vma = anon_vma->root; in __page_set_anon_rmap()
1124 BUG_ON(page_anon_vma(page)->root != vma->anon_vma->root); in __page_check_anon_rmap()
1536 struct anon_vma *root = anon_vma->root; in __put_anon_vma() local
1539 if (root != anon_vma && atomic_dec_and_test(&root->refcount)) in __put_anon_vma()
1540 anon_vma_free(root); in __put_anon_vma()
1689 anon_vma = anon_vma->root; in __hugepage_set_anon_rmap()