mmap_action_...kernel_pages(9)
π mmap_action_map_kernel_pages π
okay so bestie, welcome to the Kernel API Manual β¨ this page is all about a helper for the mmap_prepare hook, and it's literally here to say βmap these kernel pages into userland, starting at this virtual address.β group-chat energy but make it memory management π
πΈ NAME πΈ
mmap_action_map_kernel_pages β helper for the mmap_prepare hook to specify that @num kernel pages contained in the @pages array should be mapped to userland starting at virtual address @start. that's the assignment, no cap π«Ά
β¨ SYNOPSIS β¨
void mmap_action_map_kernel_pages (struct vm_area_desc *desc , unsigned long start , struct page **pages , unsigned long nr_pages );
π ARGUMENTS π
descβ the VMA descriptor for the VMA requiring kernel pags to be mapped. yes, βpagsβ is the original spelling, and I'm delivering it with love πstartβ the virtual address from which to map them. the starting point, periodt πpagesβ an array ofstruct pagepointers describing the memory to map. page-pointer city π«Άnr_pagesβ the number of entries in thepagesaray. again, βarayβ is the original spelling, not me π
π SEE ALSO π
Kernel file: ./include/linux/mm.h
the whole function friend group, in order, zero skips:
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_full(9),range_is_subset(9)range_in_vma(9),range_in_vma_desc(9),clear_pages(9)
okay that's the whole page, bestie π«Ά source/version: ./include/linux, date: October 2026, page name: mmap_action_...kernel_pages(9). go map those kernel pages and slay π
β¨
π¦ 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