walk_page_range_debug(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ walk_page_range_debug(9) πŸ¦‹

okay so bestie, real talk β€” this is a page from the Kernel API Manual, and it's the debugging-only cousin of walk_page_range. Buckle up πŸ’–


✨ NAME ✨

walk_page_range_debug β€” walk a range of pagetables not backed by a vma πŸ‘‘


🌸 SYNOPSIS 🌸

int walk_page_range_debug (struct mm_struct *mm , unsigned long start ,
       unsigned long end , const struct mm_walk_ops *ops , pgd_t *pgd , void
       *private );

like, yes, that's a lot of arguments. she's high-maintenance. we love her anyway πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • mm β€” the mm_struct representing the target process of the page table walk. she's the main character of this whole operation ✨
  • start β€” start address of the virtual address range πŸ“
  • end β€” end address of the virtual address range 🏁
  • ops β€” the operation to call during the walk. your callbacks live here 🫢
  • pgd β€” the pgd to walk, if it's different from mm->pgd. alternate route, iykyk 🌈
  • private β€” private data for callbacks' usage. your little secret stash πŸ“

πŸ’œ DESCRIPTION πŸ’œ

So, this function is similar to walk_page_range, except β€” and this is the whole vibe β€” it can walk any page tables, even if they're not backed by VMAs. no cap. it just goes there πŸ”₯

Because 'unusual' entries may be walked, this function will also not lock the PTEs for the pte_entry callback. literally just out here raw-dogging the page tables 😭 (affectionate).

⚠️ ok so important: this is for debugging purposes ONLY. do not build your whole thing on this. fr fr. it's giving "temporary" and "you will regret this in six months" πŸ’€

Also the mmap write lock must be held. like, mandatory. hold it. don't ask questions 🌸


⭐ SEE ALSO ⭐


and that's the whole page, bestie πŸ§šβ€β™€οΈ go forth and debug responsibly. you got this πŸ’–βœ¨

sign-off ~ this iconic little number comes to you from ./mm, dated October 2026, and its title is walk_page_range_debug(9) in case you forgot already πŸ™ˆ mwah πŸ’‹

πŸ“¦ where this page comes from