diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 6ab235354f36b9c3b2cb5a4623ab04d970ef7fea..55a0a2eccbd2bce1948009dfa51c40344fd1f22c 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -308,7 +308,8 @@ static const char *sec_name(struct elf_info *elf, int secindex) static void *sym_get_data(const struct elf_info *info, const Elf_Sym *sym) { - Elf_Shdr *sechdr = &info->sechdrs[sym->st_shndx]; + unsigned int secindex = get_secindex(info, sym); + Elf_Shdr *sechdr = &info->sechdrs[secindex]; unsigned long offset; offset = sym->st_value;