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. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
parent
41370d3b5e
commit
8ea80ca4f5
1 changed files with 1 additions and 1 deletions
|
@ -576,11 +576,11 @@ static void check_sec_ref(struct module *mod, const char *modname,
|
||||||
r.r_offset = TO_NATIVE(rela->r_offset);
|
r.r_offset = TO_NATIVE(rela->r_offset);
|
||||||
r.r_info = TO_NATIVE(rela->r_info);
|
r.r_info = TO_NATIVE(rela->r_info);
|
||||||
sym = elf->symtab_start + ELF_R_SYM(r.r_info);
|
sym = elf->symtab_start + ELF_R_SYM(r.r_info);
|
||||||
secname = secstrings + sechdrs[sym->st_shndx].sh_name;
|
|
||||||
/* Skip special sections */
|
/* Skip special sections */
|
||||||
if (sym->st_shndx >= SHN_LORESERVE)
|
if (sym->st_shndx >= SHN_LORESERVE)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
secname = secstrings + sechdrs[sym->st_shndx].sh_name;
|
||||||
if (section(secname))
|
if (section(secname))
|
||||||
warn_sec_mismatch(modname, name, elf, sym, r);
|
warn_sec_mismatch(modname, name, elf, sym, r);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue