vm_normal_folio_pmd(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… vm_normal_folio_pmd β€” the vm_normal_folio_pmd(9) glow-up

okay so bestie, this page lives in the Kernel API Manual and it's here to teach you how to get the struct folio that's hanging out with a PMD. it's short, it's sweet, it slays, let's go 🫢


✨ SYNOPSIS ✨

struct folio * vm_normal_folio_pmd (struct vm_area_struct *vma ,
unsigned long addr , pmd_t pmd );

like, literally the whole function signature. copy it exactly, don't @ me πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • vma β€” the VMA that's mapping the pmd. she's the vibe container πŸ¦‹
  • addr β€” the address where the pmd is mapped. the where, iykyk πŸ“
  • pmd β€” the PMD. that's it, that's the argument πŸ”₯

🌸 DESCRIPTION 🌸

so what does she actually do? she gets the struct folio associated with a PTE πŸ’–

and for the deets on what counts as a "normal" mapping vs. a "special" mapping β€” like, the whole lore β€” go peek at __vm_normal_page. that's where the details live, no cap ✨


πŸ‘‘ RETURN πŸ‘‘

  • returns the struct folio if this is a "normal" mapping πŸŽ€
  • returns NULL if this is a "special" mapping πŸ’€

that's the whole return contract, periodt.


🌈 SEE ALSO 🌈

Kernel file ./mm/memory.c β€” and bestie, the friend group is huge, here's everyone:


ngl that SEE ALSO section is giving "added everyone in the group chat" energy 😭 but every single one of them is invited, so. 🧚

and that's the whole page, bestie! this one came out of ./mm and it's dated October 2026, still signing off as vm_normal_folio_pmd(9) β€” stay normal (mapping), stay iconic πŸ‘‘πŸ’–

πŸ“¦ where this page comes from