kmsan_ioremap_page_range(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ kmsan_ioremap_page_range(9) ✨

okay so bestie, we're in the Kernel API Manual today and this one is literally about telling KMSAN that somebody called ioremap_page_range(). like, a little heads-up note passed between kernel functions 🫢 no cap.


🌸 NAME 🌸

kmsan_ioremap_page_range β€” notify KMSAN about an ioremap_page_range() call. that's it, that's the whole vibe πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

int kmsan_ioremap_page_range (unsigned long addr , unsigned long end ,
phys_addr_t phys_addr , pgprot_t prot , unsigned int page_shift );

look at her go ✨ five params, one int coming back at you.


πŸ¦‹ ARGUMENTS πŸ¦‹

  • addr β€” where the range starts, bestie. the beginning. the main character of the address space πŸ‘‘
  • end β€” where the range ends. the grand finale 🎬
  • phys_addr β€” the start of the physical range. yes, physical, not virtual, keep up πŸ’œ
  • prot β€” the page protection flags used for ioremap_page_range. protection is important, periodt πŸ›‘οΈ
  • page_shift β€” literally just the page_shift argument that gets passed to vmap_range_noflush. nothing more, nothing less, iykyk 🌈

πŸ’€ DESCRIPTION πŸ’€

so here's the tea β˜• β€” KMSAN creates new metadata pages for the physical pages that get mapped into virtual memory. that's the whole job. she's a metadata girlie 🧚

it returns 0 on success. and this part is important, so listen up:

callers must check for a non-zero return value. like, actually check it. don't just ignore the return and hope for the best, that's not the move πŸ™ˆ

⭐ SEE ALSO ⭐

that's the whole friend group right there, go say hi to all of them 🫢🌸


and that's a wrap, bestie πŸ’– this lil page lives in ./include/linux, dated October 2026, and she goes by kmsan_ioremap_page_range(9). slay, go check your return values, mwah πŸ’…βœ¨

πŸ“¦ where this page comes from