vma_end_anon_pgoff(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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