vunmap(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… vunmap(9)

okay so real talk, this is the page for vunmap from the Kernel API Manual β€” no cap, it's the breakup anthem for a mapping that vmap() set you up with πŸ’”

✨ NAME ✨

vunmap β€” release a virtual mapping that you got from vmap() 🫢 like, it's the undoing. the "we're done here" of kernel virtual memory.

πŸŽ€ SYNOPSIS πŸŽ€

void vunmap (const void *addr );

that's it. one argument. it returns void, so there's literally nothing to check, don't come for me 😭

🌸 ARGUMENTS 🌸

  • addr β€” the memory base address, bestie. this is the starting address of the area you're about to hand back ✨

πŸ¦‹ DESCRIPTION πŸ¦‹

So vunmap() frees the virtually contiguous memory area that starts at addr β€” and that area has to be one that was created from the page array you passed to vmap. not a cousin, not a lookalike, the actual one πŸ’…

🚨 vibe check: this must NOT be called in interrupt context. like, at all. it's giving "sleepy function, do not disturb" 😴 β€” don't be the person who tries it in an interrupt, i'm begging πŸ™ˆ

🌈 SEE ALSO 🌈

the whole fam lives in the kernel file ./mm/vmalloc.c πŸ‘‘ and honestly? iconic lineup. go say hi:


okay that's the whole page, ty for coming to my ted talk 🫢 this one's from the ./mm corner of the world, dated October 2026, and yes the header said vunmap(9) and the footer said vunmap(9) again because consistency is main character energy πŸ’–βœ¨ go free your mappings responsibly, ily πŸ’œ

πŸ“¦ where this page comes from