mmap_action...l_pages_full(9)
πΈ mmap_action...l_pages_full(9) πΈ
okay bestie so this is from the Kernel API Manual and the star of the show is mmap_action_map_kernel_pages_full β yes that's a long name, she's got main character energy and she earned it π
β¨ NAME β¨
mmap_action_map_kernel_pages_full β the little helper for the mmap_prepare hook that says "hey, the kernel pages chillin' in the @pages array? map those to userland, from @desc->start all the way to @desc->end" π«Ά
π¦ SYNOPSIS π¦
void mmap_action_map_kernel_pages_full (struct vm_area_desc *desc ,
struct page **pages );
π ARGUMENTS π
descβ the VMA descriptor for the VMA that needs its kernel pags mapped. (yes "pags" β that's literally how it's spelled in the source, no cap, we love a typo moment π)pagesβ an array ofstruct pagepointers describing the memory to map β¨
π DESCRIPTION π
So likeβ¦ the caller has got to make sure that pages has enough entries to cover the entire range described by desc. Not a vibe check you get to skip, bestie β the whole range, covered, or nothing. That's the entire requirement, periodt π₯
fr fr: the caller is responsible for the entry count here. The page doesn't do it for you.
π SEE ALSO π
Kernel file ./include/linux/mm.h β and honestly the whole friend group showed up:
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_end_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)range_is_subset(9)range_in_vma(9)range_in_vma_desc(9)clear_pages(9)
and that's the whole page, bestie π sourced from ./include/linux, dated October 2026, filed under mmap_action...l_pages_full(9) β go map some pages, ily, mwah ππ
π¦ 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