diff options
Diffstat (limited to 'kernel/module.c')
| -rw-r--r-- | kernel/module.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/kernel/module.c b/kernel/module.c index 81e727cf6df9..e87fdd2fc3c2 100644 --- a/kernel/module.c +++ b/kernel/module.c | |||
| @@ -3448,8 +3448,7 @@ const char *module_address_lookup(unsigned long addr, | |||
| 3448 | list_for_each_entry_rcu(mod, &modules, list) { | 3448 | list_for_each_entry_rcu(mod, &modules, list) { |
| 3449 | if (mod->state == MODULE_STATE_UNFORMED) | 3449 | if (mod->state == MODULE_STATE_UNFORMED) |
| 3450 | continue; | 3450 | continue; |
| 3451 | if (within_module_init(addr, mod) || | 3451 | if (within_module(addr, mod)) { |
| 3452 | within_module_core(addr, mod)) { | ||
| 3453 | if (modname) | 3452 | if (modname) |
| 3454 | *modname = mod->name; | 3453 | *modname = mod->name; |
| 3455 | ret = get_ksymbol(mod, addr, size, offset); | 3454 | ret = get_ksymbol(mod, addr, size, offset); |
| @@ -3473,8 +3472,7 @@ int lookup_module_symbol_name(unsigned long addr, char *symname) | |||
| 3473 | list_for_each_entry_rcu(mod, &modules, list) { | 3472 | list_for_each_entry_rcu(mod, &modules, list) { |
| 3474 | if (mod->state == MODULE_STATE_UNFORMED) | 3473 | if (mod->state == MODULE_STATE_UNFORMED) |
| 3475 | continue; | 3474 | continue; |
| 3476 | if (within_module_init(addr, mod) || | 3475 | if (within_module(addr, mod)) { |
| 3477 | within_module_core(addr, mod)) { | ||
| 3478 | const char *sym; | 3476 | const char *sym; |
| 3479 | 3477 | ||
| 3480 | sym = get_ksymbol(mod, addr, NULL, NULL); | 3478 | sym = get_ksymbol(mod, addr, NULL, NULL); |
| @@ -3499,8 +3497,7 @@ int lookup_module_symbol_attrs(unsigned long addr, unsigned long *size, | |||
| 3499 | list_for_each_entry_rcu(mod, &modules, list) { | 3497 | list_for_each_entry_rcu(mod, &modules, list) { |
| 3500 | if (mod->state == MODULE_STATE_UNFORMED) | 3498 | if (mod->state == MODULE_STATE_UNFORMED) |
| 3501 | continue; | 3499 | continue; |
| 3502 | if (within_module_init(addr, mod) || | 3500 | if (within_module(addr, mod)) { |
| 3503 | within_module_core(addr, mod)) { | ||
| 3504 | const char *sym; | 3501 | const char *sym; |
| 3505 | 3502 | ||
| 3506 | sym = get_ksymbol(mod, addr, size, offset); | 3503 | sym = get_ksymbol(mod, addr, size, offset); |
| @@ -3764,8 +3761,7 @@ struct module *__module_address(unsigned long addr) | |||
| 3764 | list_for_each_entry_rcu(mod, &modules, list) { | 3761 | list_for_each_entry_rcu(mod, &modules, list) { |
| 3765 | if (mod->state == MODULE_STATE_UNFORMED) | 3762 | if (mod->state == MODULE_STATE_UNFORMED) |
| 3766 | continue; | 3763 | continue; |
| 3767 | if (within_module_core(addr, mod) | 3764 | if (within_module(addr, mod)) |
| 3768 | || within_module_init(addr, mod)) | ||
| 3769 | return mod; | 3765 | return mod; |
| 3770 | } | 3766 | } |
| 3771 | return NULL; | 3767 | return NULL; |
