History

kbuild: fix segfault in modpost

Do not try to look up section name until we know it is not a special section. Otherwise we will address outside legal space and segfault.

Sam Ravnborg committed 20 years ago

Commit 8ea80ca1 parent 41370d31 file · +1 −1Browse files

Unified · Split

scripts/mod/modpost.c+1−1
@@ -576,11 +576,11 @@ static void check_sec_ref(struct module *mod, const char *modname, · 575 unmodified lines
576 r.r_offset = TO_NATIVE(rela->r_offset);576 r.r_offset = TO_NATIVE(rela->r_offset);
577 r.r_info = TO_NATIVE(rela->r_info);577 r.r_info = TO_NATIVE(rela->r_info);
578 sym = elf->symtab_start + ELF_R_SYM(r.r_info);578 sym = elf->symtab_start + ELF_R_SYM(r.r_info);
579 secname = secstrings + sechdrs[sym->st_shndx].sh_name;
580 /* Skip special sections */579 /* Skip special sections */
581 if (sym->st_shndx >= SHN_LORESERVE)580 if (sym->st_shndx >= SHN_LORESERVE)
582 continue;581 continue;
583 582
583 secname = secstrings + sechdrs[sym->st_shndx].sh_name;
584 if (section(secname))584 if (section(secname))
585 warn_sec_mismatch(modname, name, elf, sym, r);585 warn_sec_mismatch(modname, name, elf, sym, r);
586 }586 }