vma_end_anon_pgoff(9)
π vma_end_anon_pgoff β a Kernel API Manual moment
okay so real talk, we're in the Kernel API Manual today (yes, that Kernel API Manual, section 9) and the function we're stanning is vma_end_anon_pgoff. she's a little one but she's important, trust. π
β¨ NAME β¨
vma_end_anon_pgoff β bestie, this literally gets you the anonymous page offset of the exclusive end of @vma. that's it. that's the whole job. π«Ά
πΈ SYNOPSIS πΈ
pgoff_t vma_end_anon_pgoff (const struct vm_area_struct *vma );
π¦ ARGUMENTS π¦
vmaβ the VMA whose end anonymous page offset is required, i.e. the main character of this whole situation. π
π DESCRIPTION π
so what this does is return the anonymous exclusive end page offset of vma, and likeβ¦ that's genuinely useful for expressing page offset ranges. no cap. it's giving "I need my ranges to line up" energy. π₯
and if you're sitting there like "okay but what even is a VMA anonymous page offset", same bestie, luckily there's a whole description of vma_start_anon_pgoff that explains VMA anonymous page offsets. go read that one, iykyk. π
β RETURN β
the exclusive end anonymous page offset of vma. periodt. π
π SEE ALSO π
okay this list is LONG, hydrate before reading, but every single one of these is iconic in her own way:
Kernel file ./include/linux/mm.h, folio_page_idx(9), vma_flag_t(9), fault_flag_allow_retry_first(9), vma_kernel_pagesize(9), folio_order(9), folio_reset_order(9), folio_mapcount(9), folio_mapped(9), thp_order(9), thp_size(9), folio_get(9), folio_put(9), folio_put_refs(9), folios_put(9), vma_flags_is_cow_mapping(9), vma_is_cow_mapping(9), vma_desc_is_cow_mapping(9), folio_pfn(9), folio_mk_pte(9), folio_mk_pmd(9), folio_mk_pud(9), folio_maybe_dma_pinned(9), is_zero_page(9), is_zero_folio(9), folio_nr_pages(9), folio_next(9), folio_shift(9), folio_size(9), folio_maybe_mapped_shared(9), folio_expected_ref_count(9), zap_vma(9), ptdesc_address(9), ptdesc_set_kernel(9), ptdesc_clear_kernel(9), ptdesc_test_kernel(9), pagetable_alloc(9), pagetable_free(9), vma_lookup(9), vma_start_pgoff(9), vma_end_pgoff(9), vma_last_pgoff(9), vma_start_anon_pgoff(9), vma_last_anon_pgoff(9), mmap_action_remap(9), mmap_action_remap_full(9), mmap_action_ioremap(9), mmap_action_ioremap_full(9), mmap_action_simple_ioremap(9), mmap_action_map_kernel_pages(9), mmap_action_map_kernel_pages_full(9), range_is_subset(9), range_in_vma(9), range_in_vma_desc(9), clear_pages(9)
likeβ¦ the range functions? the folio functions? the ptdesc girlies? all of them. one big happy kernel family. π§π
reminder bestie: exclusive end means it's not inclusive, so don't come for me when your range math is off by one. π
and that's the page! huge shoutout to the source at ./include/linux, dated October 2026, from your girl vma_end_anon_pgoff(9) β mwah, slay, go read vma_start_anon_pgoff(9) next πππ
π¦ 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