vma_alloc_ze...ovable_folio(9)
π vma_alloc_ze...ovable_folio(9) β the Kernel API Manual, bestie edition π
okay so this is from the Kernel API Manual, section 9 (kernel routines, iykyk), and the page name is literally vma_alloc_ze...ovable_folio(9) β yes it's truncated, no we're not fixing it, it's iconic that way β¨
πΈ NAME πΈ
vma_alloc_zeroed_movable_folio β bestie, it allocates a zeroed page for a VMA. that's the whole vibe. π«Ά
β¨ SYNOPSIS β¨
struct folio * vma_alloc_zeroed_movable_folio (struct vm_area_struct
*vma , unsigned long vaddr );
like, you hand it a VMA and a vaddr and it gives you back a struct folio *. simple. clean. slay. π
π¦ ARGUMENTS π¦
vmaβ the VMA the page is gonna be allocated for. it's giving "here's the neighborhood, find me a house" π‘vaddrβ the virtual address the page will be inserted into. this is the exact spot, no cap π
π DESCRIPTION π
so this function will allocate a page suitable for inserting into this VMA at this virtual address. literally that's it, that's the job. π
it may be allocated from highmem or the movable zone β highkey depends on the situation, we don't gatekeep. and bestie, important detail: an architecture may provide its own implementation. so like, your arch might have main character energy and do its own thing. don't @ me. π
β RETURN β
you get a folio containing one allocated and zeroed page π β¦or NULL if we are out of memory π (yes, the OOM jumpscare is real, no cap).
π SEE ALSO π
Kernel file ./include/linux/highmem.h β go read it, it's lowkey the source of truth. and then the whole kmap cinematic universe, in this exact order:
kmap(9), kunmap(9), kmap_to_page(9), kmap_flush_unused(9), kmap_local_page(9), kmap_local_folio(9), kmap_atomic(9), clear_user_page(9), clear_user_pages(9), clear_user_highpage(9), clear_user_highpages(9), memcpy_from_folio(9), memcpy_to_folio(9), folio_zero_tail(9), folio_fill_tail(9), memcpy_from_file_folio(9), folio_zero_segments(9), folio_zero_segment(9), folio_zero_range(9), folio_release_kmap(9)
all of them. every single one. I said what I said. π£οΈπ₯
and that's the page!! mwah π this one lives in ./include/linux and it's dated October 2026 β yes, future core, we stay ahead of the timeline π°οΈβ¨ hope this helped bestie, go zero some pages responsibly π«Άπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms