xenbus_unmap_ring_vfree(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xenbus_unmap_ring_vfree(9) β€” Kernel API Manual πŸ’…

okay bestie, welcome to the xenbus_unmap_ring_vfree(9) page from the Kernel API Manual. We're talking about unmapping a page of memory from another domain, and yes, it's giving cross-domain cleanup realness. πŸ’…βœ¨


🌸 NAME 🌸

xenbus_unmap_ring_vfree β€” unmap a page of memory from another domain. periodt. πŸ’–

πŸŽ€ SYNOPSIS πŸŽ€

int xenbus_unmap_ring_vfree (struct xenbus_device *dev , void *vaddr );

That's the whole signature, no cap. 🫢

πŸ¦‹ ARGUMENTS πŸ¦‹

  • dev β€” xenbus device. That's your device buddy for this whole operation. πŸ’œ
  • vaddr β€” addr to unmap. Like, the address that's getting un-mapped. ✨

⭐ DESCRIPTION ⭐

Based on Rusty Russell's skeleton driver's unmap_page. Iconic lineage, honestly. πŸ‘‘

Unmap a page of memory in this domain that was imported from another domain. Very cross-domain main character energy. 🌈

Use xenbus_unmap_ring_vfree if you mapped in your memory with xenbus_map_ring_valloc β€” because it will free the virtual address space. That's the vibe check. πŸ’…

πŸ’– RETURN πŸ’–

0 on success or GNTST_* on error (see xen/include/interface/grant_table.h). So yeah: zero = success, GNTST_* = go check that grant table header, bestie. 😭

🌟 SEE ALSO 🌟

Kernel file ./drivers/xen/xenbus/xenbus_client.c is the source-y bestie here. Also go peek at:


and that's the page, bestie 🫢 source/version: ./drivers/xen/xenbus; date: October 2026; manual: xenbus_unmap_ring_vfree(9) β€” mwah πŸ’‹βœ¨πŸŽ€

πŸ“¦ where this page comes from