Home
last modified time | relevance | path

Searched refs:anon_vma (Results 1 – 25 of 25) sorted by relevance

/OK3568_Linux_fs/kernel/mm/
H A Drmap.c87 static inline struct anon_vma *anon_vma_alloc(void) in anon_vma_alloc()
89 struct anon_vma *anon_vma; in anon_vma_alloc() local
91 anon_vma = kmem_cache_alloc(anon_vma_cachep, GFP_KERNEL); in anon_vma_alloc()
92 if (anon_vma) { in anon_vma_alloc()
93 atomic_set(&anon_vma->refcount, 1); in anon_vma_alloc()
94 anon_vma->degree = 1; /* Reference for first vma */ in anon_vma_alloc()
95 anon_vma->parent = anon_vma; in anon_vma_alloc()
100 anon_vma->root = anon_vma; in anon_vma_alloc()
103 return anon_vma; in anon_vma_alloc()
106 static inline void anon_vma_free(struct anon_vma *anon_vma) in anon_vma_free() argument
[all …]
H A Dmmap.c417 struct anon_vma *anon_vma = vma->anon_vma; in validate_mm() local
420 if (anon_vma) { in validate_mm()
421 anon_vma_lock_read(anon_vma); in validate_mm()
424 anon_vma_unlock_read(anon_vma); in validate_mm()
552 anon_vma_interval_tree_remove(avc, &avc->anon_vma->rb_root); in anon_vma_interval_tree_pre_update_vma()
561 anon_vma_interval_tree_insert(avc, &avc->anon_vma->rb_root); in anon_vma_interval_tree_post_update_vma()
786 struct anon_vma *anon_vma = NULL; in __vma_adjust() local
840 if (remove_next == 2 && !next->anon_vma) in __vma_adjust()
869 if (exporter && exporter->anon_vma && !importer->anon_vma) { in __vma_adjust()
872 importer->anon_vma = exporter->anon_vma; in __vma_adjust()
[all …]
H A Dksm.c198 struct anon_vma *anon_vma; /* when stable */ member
529 if (!(vma->vm_flags & VM_MERGEABLE) || !vma->anon_vma) in find_mergeable_vma()
544 put_anon_vma(rmap_item->anon_vma); in break_cow()
646 put_anon_vma(rmap_item->anon_vma); in remove_node_from_stable_tree()
796 put_anon_vma(rmap_item->anon_vma); in remove_rmap_item_from_tree()
985 if (!(vma->vm_flags & VM_MERGEABLE) || !vma->anon_vma) in unmerge_and_remove_all_rmap_items()
1298 rmap_item->anon_vma = vma->anon_vma; in try_to_merge_with_ksm_page()
1299 get_anon_vma(vma->anon_vma); in try_to_merge_with_ksm_page()
2301 if (!vma->anon_vma) in scan_get_next_rmap_item()
2479 if (vma->anon_vma) { in ksm_madvise()
[all …]
H A Dhuge_memory.c1278 VM_BUG_ON_VMA(!vma->anon_vma, vma); in do_huge_pmd_wp_page()
1414 struct anon_vma *anon_vma = NULL; in do_huge_pmd_numa_page() local
1484 anon_vma = page_lock_anon_vma_read(page, NULL); in do_huge_pmd_numa_page()
1496 if (unlikely(!anon_vma)) { in do_huge_pmd_numa_page()
1557 if (anon_vma) in do_huge_pmd_numa_page()
1558 page_unlock_anon_vma_read(anon_vma); in do_huge_pmd_numa_page()
2665 struct anon_vma *anon_vma = NULL; in split_huge_page_to_list() local
2687 anon_vma = page_get_anon_vma(head); in split_huge_page_to_list()
2688 if (!anon_vma) { in split_huge_page_to_list()
2694 anon_vma_lock_write(anon_vma); in split_huge_page_to_list()
[all …]
H A Dmigrate.c1011 struct anon_vma *anon_vma = NULL; in __unmap_and_move() local
1072 anon_vma = page_get_anon_vma(page); in __unmap_and_move()
1110 VM_BUG_ON_PAGE(PageAnon(page) && !PageKsm(page) && !anon_vma, in __unmap_and_move()
1127 if (anon_vma) in __unmap_and_move()
1128 put_anon_vma(anon_vma); in __unmap_and_move()
1268 struct anon_vma *anon_vma = NULL; in unmap_and_move_huge_page() local
1311 anon_vma = page_get_anon_vma(hpage); in unmap_and_move_huge_page()
1353 if (anon_vma) in unmap_and_move_huge_page()
1354 put_anon_vma(anon_vma); in unmap_and_move_huge_page()
H A Dmremap.c107 if (vma->anon_vma) in take_rmap_locks()
108 anon_vma_lock_write(vma->anon_vma); in take_rmap_locks()
113 if (vma->anon_vma) in drop_rmap_locks()
114 anon_vma_unlock_write(vma->anon_vma); in drop_rmap_locks()
H A Dkhugepaged.c467 if (!vma->anon_vma || vma->vm_ops) in hugepage_vma_check()
989 if (!vma->anon_vma || vma->vm_ops) in hugepage_vma_revalidate()
1139 anon_vma_lock_write(vma->anon_vma); in collapse_huge_page()
1178 anon_vma_unlock_write(vma->anon_vma); in collapse_huge_page()
1188 anon_vma_unlock_write(vma->anon_vma); in collapse_huge_page()
1472 if (vma->anon_vma) in collapse_pte_mapped_thp()
1621 if (vma->anon_vma) in retract_page_tables()
H A Ddebug.c211 vma->anon_vma, vma->vm_ops, vma->vm_pgoff, in dump_vma()
H A Dmlock.c551 *prev = vma_merge(mm, *prev, start, end, newflags, vma->anon_vma, in mlock_fixup()
H A Dmprotect.c456 vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma), in mprotect_fixup()
H A Dutil.c724 struct anon_vma *page_anon_vma(struct page *page) in page_anon_vma()
H A Dmadvise.c139 *prev = vma_merge(mm, *prev, start, end, new_flags, vma->anon_vma, in madvise_behavior()
H A Dmemory.c576 (void *)addr, READ_ONCE(vma->vm_flags), vma->anon_vma, mapping, index); in print_bad_pte()
1197 !src_vma->anon_vma) in copy_page_range()
2778 if (!vmf->vma->anon_vma) { in vmf_allows_speculation()
2797 !vmf->vma->anon_vma) { in vmf_allows_speculation()
H A Dmemory-failure.c477 struct anon_vma *av; in collect_procs_anon()
H A Dmempolicy.c839 vma->anon_vma, vma->vm_file, pgoff, in mbind_range()
H A Dswapfile.c2137 if (vma->anon_vma) { in unuse_mm()
/OK3568_Linux_fs/kernel/include/linux/
H A Drmap.h33 struct anon_vma { struct
34 struct anon_vma *root; /* Root of this anon_vma tree */ argument
53 struct anon_vma *parent; /* Parent of this anon_vma */ argument
83 struct anon_vma *anon_vma; member
109 static inline void get_anon_vma(struct anon_vma *anon_vma) in get_anon_vma() argument
111 atomic_inc(&anon_vma->refcount); in get_anon_vma()
114 void __put_anon_vma(struct anon_vma *anon_vma);
116 static inline void put_anon_vma(struct anon_vma *anon_vma) in put_anon_vma() argument
118 if (atomic_dec_and_test(&anon_vma->refcount)) in put_anon_vma()
119 __put_anon_vma(anon_vma); in put_anon_vma()
[all …]
H A Dmm_types.h363 struct anon_vma *anon_vma; /* Serialized by page_table_lock */ member
H A Dmm.h39 struct anon_vma;
1631 extern struct anon_vma *page_anon_vma(struct page *page);
2682 unsigned long vm_flags, struct anon_vma *anon, struct file *file,
2688 unsigned long vm_flags, struct anon_vma *anon, struct file *file, in vma_merge()
2696 extern struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *);
/OK3568_Linux_fs/kernel/fs/
H A Duserfaultfd.c879 new_flags, vma->anon_vma, in userfaultfd_release()
1438 vma->anon_vma, vma->vm_file, vma->vm_pgoff, in userfaultfd_register()
1618 vma->anon_vma, vma->vm_file, vma->vm_pgoff, in userfaultfd_unregister()
H A Dcoredump.c1021 if ((!IS_ENABLED(CONFIG_MMU) || vma->anon_vma) && FILTER(ANON_PRIVATE)) in vma_dump_size()
/OK3568_Linux_fs/kernel/Documentation/vm/
H A Dtranshuge.rst103 takes the mmap_lock in write mode in addition to the anon_vma lock). If
/OK3568_Linux_fs/kernel/kernel/
H A Dsys.c2300 *prev = vma_merge(mm, *prev, start, end, vma->vm_flags, vma->anon_vma, in prctl_update_vma_anon_name()
H A Dfork.c557 tmp->anon_vma = NULL; in dup_mmap()
/OK3568_Linux_fs/kernel/security/selinux/
H A Dhooks.c3826 } else if (vma->vm_file && vma->anon_vma) { in selinux_file_mprotect()