is_zero_page(9)
π is_zero_page(9) β the Kernel API Manual glow-up π
okay bestie, so we're in the Kernel API Manual today and the star of the show is is_zero_page(9). yes it's a real function, yes it's exactly what it sounds like, and yes it's about to be your new fave little bool. β¨
πΈ NAME πΈ
is_zero_page β literally just Query if a page is a zero page. that's the whole vibe check. π
β¨ SYNOPSIS β¨
bool is_zero_page (const struct page *page );
copy it exactly like that, no cap β bool return, one const struct page * argument, and a little space before the closing paren because the kernel has aesthetic. π«Ά
π¦ ARGUMENTS π¦
pageβ the page you're querying, bestie. the one you're side-eyeing. the main character. π
π DESCRIPTION π
so here's the tea: this returns true if page is one of the permanent zero pages. periodt. π
like, the zero pages are permanent β they're not going anywhere β and this function is your little oracle telling you whether the page you handed it is one of them. true = yes queen, that's a zero page. anything else = not it. π
no guessing, no extra lore, that's genuinely the whole deal. π
π₯ SEE ALSO π₯
buckle up buttercup, this is the long one. all of these live in the kernel file ./include/linux/mm.h and they're all absolutely invited to the group chat: π
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_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)mmap_action_map_kernel_pages_full(9)range_is_subset(9)range_in_vma(9)range_in_vma_desc(9)clear_pages(9)
yup, all 53 of them. i counted so you don't have to. iykyk. π
π§ sign-off π§
and that's the page, bestie!! π this little icon lives in the kernel source at ./include/linux/mm.h, and the version you're reading is dated October 2026. go forth and query your zero pages, you absolute legend. πβ¨π¦
π¦ 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