__module_address(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ __module_address β€” like, the module manual page ✨

okay bestie, welcome to the __module_address(9) glow-up πŸ’… this is the kernel API manual, and it's short but it matters, so pay attention fr fr.


🌸 NAME 🌸

__module_address β€” get the module which contains an address.

like, you hand it an address, it hands you back the module that lives there. matchmaker behavior honestly 🫢


πŸŽ€ SYNOPSIS πŸŽ€

struct module * __module_address (unsigned long addr );

that's it. that's the whole signature. short king πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • addr β€” the address. that's literally it, that's the whole argument. you give it an address, bestie, and it figures out the rest ✨

πŸ’– DESCRIPTION πŸ’–

so here's the thing that actually matters: you must call this within an RCU read section or with the module mutex held, so that the module doesn't get freed during this.

⚠️ no cap, this is a real requirement β€” skip the RCU read section and skip holding the module mutex, and the module could get yanked out from under you mid-call. not the vibe. πŸ’€

πŸ”₯ SEE ALSO πŸ”₯

like the whole friend group, honestly. go say hi πŸ‘‹


🌈 the sign-off 🌈

this icon lives in ./kernel/module, dated October 2026. screenshot it, frame it, put it on your wall πŸŽ€βœ¨

stay safe out there, hold that mutex, slay πŸ’œπŸ¦‹

πŸ“¦ where this page comes from