vunmap_range(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… vunmap_range(9) β€” from the Kernel API Manual, bestie ✨

Okay so picture this: you're deep in the kernel, you've got a chunk of virtual address space, and you need it gone. Not "eh, maybe later" gone. Gone gone. That's literally what this page is about, and ngl it's kind of iconic. πŸŽ€


🌸 NAME 🌸

vunmap_range β€” unmaps kernel virtual addresses. That's it, that's the whole vibe. Bye-bye mappings. 🫢


✨ SYNOPSIS ✨

void vunmap_range (unsigned long addr , unsigned long end );

Look at that signature. Clean. Minimal. Main character energy. πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • addr β€” where the VM area you're nuking starts. The beginning. The opener. πŸ’–
  • end β€” where that VM area stops β€” and heads up bestie, it's non-inclusive, so end itself is not part of the range. It's giving "exclusive party, you're not on the list" πŸ™ˆ

πŸ”₯ DESCRIPTION πŸ”₯

So what does it actually do? It clears any present PTEs in that virtual address range, then flushes TLBs and caches. Boom. Clean slate. ✨

⚠️ But listen β€” and I need you to hear me on this one β€” if anything touches that address after this and before it's been re-mapped? That's a kernel bug. Not a "whoops lol" bug. A real one. Absolutely do not. πŸ’€

πŸ’œ SEE ALSO πŸ’œ

The whole friend group, fr fr β€” all of these live in the kernel file ./mm/vmalloc.c:

Like, that's the whole squad. Go say hi. 🌈


Okay that's the page!! πŸ’… This lil beauty came from ./mm, dated October 2026 β€” mwah, no notes, periodt. πŸ“βœ¨

πŸ“¦ where this page comes from