| /linux-6.15/mm/ |
| H A D | vma.h | 33 struct vma_iterator *vmi; member 69 struct vma_iterator *vmi; member 163 .vmi = vmi_, \ 174 .vmi = vmi_, \ 206 ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start))) in vma_iter_store_gfp() 376 mas_reset(&vmi->mas); in vma_iter_reset() 429 if (MAS_WARN_ON(&vmi->mas, vmi->mas.status != ma_start && in vma_iter_store_overwrite() 433 vma->vm_end, vmi->mas.index, vmi->mas.last); in vma_iter_store_overwrite() 435 if (MAS_WARN_ON(&vmi->mas, vmi->mas.status != ma_start && in vma_iter_store_overwrite() 439 vmi->mas.index, vmi->mas.last); in vma_iter_store_overwrite() [all …]
|
| H A D | vma.c | 12 struct vma_iterator *vmi; member 36 .vmi = vmi_, \ 48 .vmi = (map_)->vmi, \ 528 vma_next(vmi); in __split_vma() 530 vma_prev(vmi); in __split_vma() 537 vma_iter_free(vmi); in __split_vma() 809 vma_prev(vmg->vmi); in vma_merge_existing_range() 1439 vms->vmi = vmi; in init_vma_munmap() 2289 struct vma_iterator *vmi = map->vmi; in __mmap_prepare() local 2350 struct vma_iterator *vmi = map->vmi; in __mmap_new_file_vma() local [all …]
|
| H A D | mseal.c | 72 static int mseal_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma, in mseal_fixup() argument 82 vma = vma_modify_flags(vmi, *prev, vma, start, end, newflags); in mseal_fixup() 106 VMA_ITERATOR(vmi, current->mm, start); in check_mm_seal() 109 for_each_vma_range(vmi, vma, end) { in check_mm_seal() 131 VMA_ITERATOR(vmi, current->mm, start); in apply_mm_seal() 133 vma = vma_iter_load(&vmi); in apply_mm_seal() 138 prev = vma_prev(&vmi); in apply_mm_seal() 143 for_each_vma_range(vmi, vma, end) { in apply_mm_seal() 152 error = mseal_fixup(&vmi, vma, &prev, nstart, tmp, newflags); in apply_mm_seal() 155 nstart = vma_iter_end(&vmi); in apply_mm_seal()
|
| H A D | mmap.c | 123 struct vma_iterator vmi; in SYSCALL_DEFINE1() local 937 vma = vma_iter_load(&vmi); in find_vma_prev() 938 *pprev = vma_prev(&vmi); in find_vma_prev() 940 vma = vma_next(&vmi); in find_vma_prev() 1241 vma = vma_prev(&vmi); in vm_brk_flags() 1263 VMA_ITERATOR(vmi, mm, 0); in exit_mmap() 1272 vma = vma_next(&vmi); in exit_mmap() 1312 vma = vma_next(&vmi); in exit_mmap() 1759 if (vma != vma_next(&vmi)) in relocate_vma_down() 1779 next = vma_next(&vmi); in relocate_vma_down() [all …]
|
| H A D | debug.c | 288 vmg->vmi, vmg->vmi ? vma_iter_addr(vmg->vmi) : 0, in dump_vmg() 289 vmg->vmi ? vma_iter_end(vmg->vmi) : 0, in dump_vmg() 333 if (vmg->vmi) { in dump_vmg() 335 vma_iter_dump_tree(vmg->vmi); in dump_vmg() 388 void vma_iter_dump_tree(const struct vma_iterator *vmi) in vma_iter_dump_tree() argument 391 mas_dump(&vmi->mas); in vma_iter_dump_tree() 392 mt_dump(vmi->mas.tree, mt_dump_hex); in vma_iter_dump_tree()
|
| H A D | nommu.c | 591 vma_iter_clear(&vmi); in delete_vma_from_mm() 623 VMA_ITERATOR(vmi, mm, addr); in find_vma() 625 return vma_iter_load(&vmi); in find_vma() 670 VMA_ITERATOR(vmi, mm, addr); in find_vma_exact() 672 vma = vma_iter_load(&vmi); in find_vma_exact() 1217 vma_iter_free(&vmi); in do_mmap() 1366 vma_iter_store_new(vmi, new); in split_vma() 1437 vma = vma_find(&vmi, end); in do_munmap() 1456 vma = vma_find(&vmi, end); in do_munmap() 1507 VMA_ITERATOR(vmi, mm, 0); in exit_mmap() [all …]
|
| H A D | mlock.c | 483 vma = vma_modify_flags(vmi, *prev, vma, start, end, newflags); in mlock_fixup() 521 VMA_ITERATOR(vmi, current->mm, start); in apply_vma_lock_flags() 530 vma = vma_iter_load(&vmi); in apply_vma_lock_flags() 534 prev = vma_prev(&vmi); in apply_vma_lock_flags() 540 for_each_vma_range(vmi, vma, end) { in apply_vma_lock_flags() 553 error = mlock_fixup(&vmi, vma, &prev, nstart, tmp, newflags); in apply_vma_lock_flags() 556 tmp = vma_iter_end(&vmi); in apply_vma_lock_flags() 579 VMA_ITERATOR(vmi, mm, start); in count_mm_mlocked_page_nr() 587 for_each_vma_range(vmi, vma, end) { in count_mm_mlocked_page_nr() 708 VMA_ITERATOR(vmi, current->mm, 0); in apply_mlockall_flags() [all …]
|
| H A D | mprotect.c | 597 mprotect_fixup(struct vma_iterator *vmi, struct mmu_gather *tlb, in mprotect_fixup() argument 658 vma = vma_modify_flags(vmi, *pprev, vma, start, end, newflags); in mprotect_fixup() 713 struct vma_iterator vmi; in do_mprotect_pkey() local 745 vma_iter_init(&vmi, current->mm, start); in do_mprotect_pkey() 746 vma = vma_find(&vmi, end); in do_mprotect_pkey() 769 prev = vma_prev(&vmi); in do_mprotect_pkey() 776 for_each_vma_range(vmi, vma, end) { in do_mprotect_pkey() 832 error = mprotect_fixup(&vmi, &tlb, vma, &prev, nstart, tmp, newflags); in do_mprotect_pkey() 836 tmp = vma_iter_end(&vmi); in do_mprotect_pkey()
|
| H A D | userfaultfd.c | 938 VMA_ITERATOR(vmi, dst_mm, start); in mwriteprotect_range() 962 for_each_vma_range(vmi, dst_vma, end) { in mwriteprotect_range() 1926 ret = vma_modify_flags_uffd(vmi, prev, vma, start, end, in userfaultfd_clear_vma() 1948 VMA_ITERATOR(vmi, ctx->mm, start); in userfaultfd_register_range() 1949 struct vm_area_struct *prev = vma_prev(&vmi); in userfaultfd_register_range() 1956 for_each_vma_range(vmi, vma, end) { in userfaultfd_register_range() 2006 VMA_ITERATOR(vmi, mm, 0); in userfaultfd_release_new() 2010 for_each_vma(vmi, vma) { in userfaultfd_release_new() 2021 VMA_ITERATOR(vmi, mm, 0); in userfaultfd_release_all() 2036 for_each_vma(vmi, vma) { in userfaultfd_release_all() [all …]
|
| H A D | mremap.c | 1047 VMA_ITERATOR(vmi, mm, addr); in unmap_source_vma() 1085 err = do_vmi_munmap(&vmi, mm, addr, len, vrm->uf_unmap, /* unlock= */false); in unmap_source_vma() 1122 struct vm_area_struct *prev = vma_prev(&vmi); in unmap_source_vma() 1128 struct vm_area_struct *next = vma_next(&vmi); in unmap_source_vma() 1353 VMA_ITERATOR(vmi, mm, unmap_start); in shrink_vma() 1357 res = do_vmi_munmap(&vmi, mm, unmap_start, unmap_bytes, in shrink_vma() 1549 VMA_ITERATOR(vmi, mm, vma->vm_end); in expand_vma_in_place() 1563 vma = vma_merge_extend(&vmi, vma, vrm->delta); in expand_vma_in_place()
|
| H A D | mempolicy.c | 449 VMA_ITERATOR(vmi, mm, 0); in mpol_rebind_mm() 452 for_each_vma(vmi, vma) { in mpol_rebind_mm() 1303 struct vma_iterator vmi; in do_mbind() local 1368 vma_iter_init(&vmi, mm, start); in do_mbind() 1369 prev = vma_prev(&vmi); in do_mbind() 1370 for_each_vma_range(vmi, vma, end) { in do_mbind() 1403 vma_iter_init(&vmi, mm, start); in do_mbind() 1404 for_each_vma_range(vmi, vma, end) { in do_mbind() 1579 VMA_ITERATOR(vmi, mm, start); in SYSCALL_DEFINE4() 1605 prev = vma_prev(&vmi); in SYSCALL_DEFINE4() [all …]
|
| H A D | ksm.c | 1181 VMA_ITERATOR(vmi, mm_slot->slot.mm, 0); in unmerge_and_remove_all_rmap_items() 1193 for_each_vma(vmi, vma) { in unmerge_and_remove_all_rmap_items() 2464 struct vma_iterator vmi; in scan_get_next_rmap_item() local 2529 vma_iter_init(&vmi, mm, ksm_scan.address); in scan_get_next_rmap_item() 2535 for_each_vma(vmi, vma) { in scan_get_next_rmap_item() 2743 VMA_ITERATOR(vmi, mm, 0); in ksm_add_vmas() 2744 for_each_vma(vmi, vma) in ksm_add_vmas() 2753 VMA_ITERATOR(vmi, mm, 0); in ksm_del_vmas() 2754 for_each_vma(vmi, vma) { in ksm_del_vmas() 3283 VMA_ITERATOR(vmi, mm, 0); in ksm_process_mergeable() [all …]
|
| /linux-6.15/tools/testing/vma/ |
| H A D | vma.c | 240 vma_iter_set(vmi, 0); in cleanup_mm() 278 .vmi = &vmi, in test_simple_merge() 369 .vmi = &vmi, in test_simple_expand() 418 .vmi = &vmi, in test_merge_new() 614 .vmi = &vmi, in test_vma_merge_special_flags() 686 .vmi = &vmi, in test_vma_merge_with_close() 895 .vmi = &vmi, in test_vma_merge_new_with_close() 951 .vmi = &vmi, in test_merge_existing() 1181 .vmi = &vmi, in test_anon_vma_non_mergeable() 1288 .vmi = &vmi, in test_dup_anon_vma() [all …]
|
| H A D | vma_internal.h | 426 mas_pause(&vmi->mas); in vma_iter_invalidate() 591 return mas_find(&vmi->mas, max - 1); in vma_find() 624 return mas_prev(&vmi->mas, 0); in vma_prev() 629 mas_set(&vmi->mas, addr); in vma_iter_set() 638 #define vma_iter_load(vmi) \ argument 639 mas_walk(&(vmi)->mas) 646 VMA_ITERATOR(vmi, mm, addr); in find_vma_prev() 648 vma = vma_iter_load(&vmi); in find_vma_prev() 649 *pprev = vma_prev(&vmi); in find_vma_prev() 651 vma = vma_next(&vmi); in find_vma_prev() [all …]
|
| /linux-6.15/arch/xtensa/kernel/ |
| H A D | syscall.c | 62 struct vma_iterator vmi; in arch_get_unmapped_area() local 84 vma_iter_init(&vmi, current->mm, addr); in arch_get_unmapped_area() 85 for_each_vma(vmi, vmm) { in arch_get_unmapped_area()
|
| /linux-6.15/fs/proc/ |
| H A D | task_nommu.c | 23 VMA_ITERATOR(vmi, mm, 0); in task_mem() 29 for_each_vma(vmi, vma) { in task_mem() 83 VMA_ITERATOR(vmi, mm, 0); in task_vsize() 88 for_each_vma(vmi, vma) in task_vsize() 98 VMA_ITERATOR(vmi, mm, 0); in task_statm() 104 for_each_vma(vmi, vma) { in task_statm()
|
| /linux-6.15/arch/powerpc/mm/book3s32/ |
| H A D | tlb.c | 84 VMA_ITERATOR(vmi, mm, 0); in hash__flush_tlb_mm() 92 for_each_vma(vmi, mp) in hash__flush_tlb_mm()
|
| /linux-6.15/include/linux/ |
| H A D | mm.h | 1079 return mas_find(&vmi->mas, max - 1); in vma_find() 1100 return mas_prev(&vmi->mas, 0); in vma_prev() 1107 mas_store_gfp(&vmi->mas, NULL, gfp); in vma_iter_clear_gfp() 1108 if (unlikely(mas_is_err(&vmi->mas))) in vma_iter_clear_gfp() 1117 mas_destroy(&vmi->mas); in vma_iter_free() 1123 vmi->mas.index = vma->vm_start; in vma_iter_bulk_store() 1124 vmi->mas.last = vma->vm_end - 1; in vma_iter_bulk_store() 1125 mas_store(&vmi->mas, vma); in vma_iter_bulk_store() 1126 if (unlikely(mas_is_err(&vmi->mas))) in vma_iter_bulk_store() 1135 mas_pause(&vmi->mas); in vma_iter_invalidate() [all …]
|
| /linux-6.15/lib/vdso/ |
| H A D | datastore.c | 119 VMA_ITERATOR(vmi, mm, 0); in vdso_join_timens() 122 for_each_vma(vmi, vma) { in vdso_join_timens()
|
| /linux-6.15/fs/ |
| H A D | userfaultfd.c | 1250 struct vma_iterator vmi; in userfaultfd_register() local 1295 vma_iter_init(&vmi, mm, start); in userfaultfd_register() 1296 vma = vma_find(&vmi, end); in userfaultfd_register() 1374 } for_each_vma_range(vmi, cur, end); in userfaultfd_register() 1422 struct vma_iterator vmi; in userfaultfd_unregister() local 1443 vma_iter_init(&vmi, mm, start); in userfaultfd_unregister() 1444 vma = vma_find(&vmi, end); in userfaultfd_unregister() 1481 } for_each_vma_range(vmi, cur, end); in userfaultfd_unregister() 1484 vma_iter_set(&vmi, start); in userfaultfd_unregister() 1485 prev = vma_prev(&vmi); in userfaultfd_unregister() [all …]
|
| /linux-6.15/arch/um/kernel/ |
| H A D | tlb.c | 218 VMA_ITERATOR(vmi, mm, 0); in flush_tlb_mm() 220 for_each_vma(vmi, vma) in flush_tlb_mm()
|
| /linux-6.15/arch/x86/entry/vdso/ |
| H A D | vma.c | 207 VMA_ITERATOR(vmi, mm, 0); in map_vdso_once() 217 for_each_vma(vmi, vma) { in map_vdso_once()
|
| /linux-6.15/arch/powerpc/mm/book3s64/ |
| H A D | subpage_prot.c | 155 VMA_ITERATOR(vmi, mm, addr); in subpage_mark_vma_nohuge() 161 for_each_vma_range(vmi, vma, addr + len) { in subpage_mark_vma_nohuge()
|
| /linux-6.15/arch/parisc/kernel/ |
| H A D | cache.c | 717 VMA_ITERATOR(vmi, mm, 0); in mm_total_size() 719 for_each_vma(vmi, vma) { in mm_total_size() 730 VMA_ITERATOR(vmi, mm, 0); in flush_cache_mm() 750 for_each_vma(vmi, vma) in flush_cache_mm()
|
| /linux-6.15/kernel/ |
| H A D | fork.c | 614 VMA_ITERATOR(vmi, mm, 0); in dup_mmap() 638 mt_clear_in_rcu(vmi.mas.tree); in dup_mmap() 639 for_each_vma(vmi, mpnt) { in dup_mmap() 644 retval = vma_iter_clear_gfp(&vmi, mpnt->vm_start, in dup_mmap() 703 vma_iter_bulk_store(&vmi, tmp); in dup_mmap() 730 mpnt = vma_next(&vmi); in dup_mmap() 737 vma_iter_free(&vmi); in dup_mmap() 739 mt_set_in_rcu(vmi.mas.tree); in dup_mmap() 753 mas_store(&vmi.mas, XA_ZERO_ENTRY); in dup_mmap() 1484 VMA_ITERATOR(vmi, mm, 0); in replace_mm_exe_file() [all …]
|