__module_address(9)
β¨ __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 π
- Kernel file
./kernel/module/main.c find_any_unique_sec(9)is_module_percpu_address(9)module_refcount(9)verify_module_namespace(9)elf_validity_ehdr(9)elf_validity_cache_sechdrs(9)elf_validity_cache_secstrings(9)elf_validity_cache_index_info(9)elf_validity_cache_index_mod(9)elf_validity_cache_index_sym(9)elf_validity_cache_index_str(9)elf_validity_cache_index_versions(9)elf_validity_cache_index(9)elf_validity_cache_strtab(9)is_module_address(9)is_module_text_address(9)__module_text_address(9)
π 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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms