pvm_find_va_enclose_addr(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… pvm_find_va_enclose_addr(9) πŸ’…

okay so this is a page from the Kernel API Manual, and the manual name is literally pvm_find_va_enclose_addr(9) β€” folded in right here at the top so you’re never lost, bestie. 🫢


🌸 NAME 🌸

pvm_find_va_enclose_addr β€” find the vmap_area that @addr belongs to. That’s the whole errand. πŸ’…


✨ SYNOPSIS ✨

struct vmap_area * pvm_find_va_enclose_addr (unsigned long addr );

the signature is giving β€œgive me an unsigned long and I’ll hand you a struct vmap_area *” ✨


πŸŽ€ ARGUMENTS πŸŽ€

  • addr β€” target address. That’s it, that’s the input, bestie. 🎯

πŸ’– RETURN πŸ’–

If it’s found, you get the vmap_area. πŸ’–

If there is no such area, the first highest(reverse order) vmap_area is returned β€” i.e. va->va_start < addr && va->va_end < addr β€” or NULL if there are no any areas before addr. 😭

bestie, do not assume it’s always a direct match β€” read the fallback, okay? πŸ‘€

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./mm/vmalloc.c is the file mentioned, and the SEE ALSO squad is: vunmap_range(9), vmap_pages_range(9), vm_area_map_pages(9), vm_area_unmap_pages(9), new_vmap_block(9), vm_unmap_aliases(9), vm_unmap_ram(9), vm_map_ram(9), vm_area_add_early(9), vm_area_register_early(9), get_vm_area(9), find_vm_area(9), remove_vm_area(9), vfree_atomic(9), vfree(9), vunmap(9), vmap(9), vmap_pfn(9), __vmalloc_node_range(9), __vmalloc_node(9), vmalloc(9), vmalloc_huge_node(9), vzalloc(9), vmalloc_user(9), vmalloc_node(9), vzalloc_node(9), vrealloc_node_align(9), vmalloc_32(9), vmalloc_32_user(9), vread_iter(9), remap_vmalloc_range_partial(9), remap_vmalloc_range(9), pvm_determine_end_from_reverse(9), pcpu_get_vm_areas(9), pcpu_free_vm_areas(9).


mwah πŸ’‹ β€” signed off from the ./mm source/version corner, dated October 2026, and yes this page is still pvm_find_va_enclose_addr(9). 🫢✨

πŸ“¦ where this page comes from