|
@@ -4067,7 +4067,7 @@ static unsigned long mod_find_symname(struct module *mod, const char *name)
|
|
|
|
|
|
for (i = 0; i < kallsyms->num_symtab; i++)
|
|
|
if (strcmp(name, symname(kallsyms, i)) == 0 &&
|
|
|
- kallsyms->symtab[i].st_info != 'U')
|
|
|
+ kallsyms->symtab[i].st_shndx != SHN_UNDEF)
|
|
|
return kallsyms->symtab[i].st_value;
|
|
|
return 0;
|
|
|
}
|
|
@@ -4113,6 +4113,10 @@ int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *,
|
|
|
if (mod->state == MODULE_STATE_UNFORMED)
|
|
|
continue;
|
|
|
for (i = 0; i < kallsyms->num_symtab; i++) {
|
|
|
+
|
|
|
+ if (kallsyms->symtab[i].st_shndx == SHN_UNDEF)
|
|
|
+ continue;
|
|
|
+
|
|
|
ret = fn(data, symname(kallsyms, i),
|
|
|
mod, kallsyms->symtab[i].st_value);
|
|
|
if (ret != 0)
|