virtio_dma_buf_export(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… virtio_dma_buf_export β€” like, the section 9 girlies already know

Okay so bestie, welcome to virtio_dma_buf_export(9), the kernel API manual page. Yes it's a 9, yes that means kernel internals, yes we're doing this. Pull up a chair πŸŽ€


✨ NAME ✨

virtio_dma_buf_export β€” creates a new dma-buf for a virtio exported object. That's it, that's the whole job. She's a builder πŸ’…


✨ SYNOPSIS ✨

struct dma_buf * virtio_dma_buf_export (const struct dma_buf_export_info
*exp_info );

Copy it exactly like that if you're typing it, bestie, don't get creative πŸ™ˆ


✨ ARGUMENTS ✨

  • exp_info β€” [in] okay so for the deets you gotta go see dma_buf_export. But the one thing you CANNOT skip: the ops field MUST refer to a dma_buf_ops struct that's embedded in a virtio_dma_buf_ops. Capital-M Must, no cap. Not "should", not "ideally", MUST πŸ”₯

✨ DESCRIPTION ✨

So basically this wraps dma_buf_export β€” like a little glamorous coat, a little cardigan over the function β€” so that virtio drivers can create a dma-buf for a virtio exported object. And why do we care? Because that object's UUID can then be queried by other virtio drivers. It's giving sharing is caring, it's giving cross-driver communication, it's giving community 🫢

Literally the whole point is that UUID lookup, and this is the function that makes it possible. Iconic.


✨ SEE ALSO ✨

Go read the whole friend group, they're all connected, iykyk πŸ¦‹


Heads up bestie: that ops-must-be-an-embedded-virtio_dma_buf_ops rule from ARGUMENTS is not a vibe suggestion. Treat it as law. ⭐

And that's the page! 🌸 Little sign-off moment: this gem lives in ./drivers/virtio, stamped October 2026, and it's virtio_dma_buf_export(9) forever and always. Slay, go export something πŸ’–πŸ‘‘

πŸ“¦ where this page comes from