mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-21 14:11:20 +00:00
module: remove module_text_address()
Impact: Replace and remove risky (non-EXPORTed) API module_text_address() returns a pointer to the module, which given locking improvements in module.c, is useless except to test for NULL: 1) If the module can't go away, use __module_text_address. 2) Otherwise, just use is_module_text_address(). Cc: linux-mtd@lists.infradead.org Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
e610499e26
commit
a6e6abd575
4 changed files with 9 additions and 25 deletions
|
@ -908,8 +908,10 @@ void symbol_put_addr(void *addr)
|
|||
if (core_kernel_text((unsigned long)addr))
|
||||
return;
|
||||
|
||||
if (!(modaddr = module_text_address((unsigned long)addr)))
|
||||
BUG();
|
||||
/* module_text_address is safe here: we're supposed to have reference
|
||||
* to module from symbol_get, so it can't go away. */
|
||||
modaddr = __module_text_address((unsigned long)addr);
|
||||
BUG_ON(!modaddr);
|
||||
module_put(modaddr);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(symbol_put_addr);
|
||||
|
@ -2821,17 +2823,6 @@ struct module *__module_text_address(unsigned long addr)
|
|||
return mod;
|
||||
}
|
||||
|
||||
struct module *module_text_address(unsigned long addr)
|
||||
{
|
||||
struct module *mod;
|
||||
|
||||
preempt_disable();
|
||||
mod = __module_text_address(addr);
|
||||
preempt_enable();
|
||||
|
||||
return mod;
|
||||
}
|
||||
|
||||
/* Don't grab lock, we're oopsing. */
|
||||
void print_modules(void)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue