Commit 94d6cb68 authored by Masahiro Yamada's avatar Masahiro Yamada

modpost: pass struct module pointer to check_section_mismatch()

The next commit will use it.
Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
parent 92e2921e
...@@ -1211,7 +1211,7 @@ static void default_mismatch_handler(const char *modname, struct elf_info *elf, ...@@ -1211,7 +1211,7 @@ static void default_mismatch_handler(const char *modname, struct elf_info *elf,
} }
} }
static void check_section_mismatch(const char *modname, struct elf_info *elf, static void check_section_mismatch(struct module *mod, struct elf_info *elf,
Elf_Sym *sym, Elf_Sym *sym,
unsigned int fsecndx, const char *fromsec, unsigned int fsecndx, const char *fromsec,
Elf_Addr faddr, Elf_Addr taddr) Elf_Addr faddr, Elf_Addr taddr)
...@@ -1222,7 +1222,7 @@ static void check_section_mismatch(const char *modname, struct elf_info *elf, ...@@ -1222,7 +1222,7 @@ static void check_section_mismatch(const char *modname, struct elf_info *elf,
if (!mismatch) if (!mismatch)
return; return;
default_mismatch_handler(modname, elf, mismatch, sym, default_mismatch_handler(mod->name, elf, mismatch, sym,
fsecndx, fromsec, faddr, fsecndx, fromsec, faddr,
tosec, taddr); tosec, taddr);
} }
...@@ -1406,7 +1406,7 @@ static int addend_mips_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r) ...@@ -1406,7 +1406,7 @@ static int addend_mips_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r)
#define R_LARCH_SUB32 55 #define R_LARCH_SUB32 55
#endif #endif
static void section_rela(const char *modname, struct elf_info *elf, static void section_rela(struct module *mod, struct elf_info *elf,
Elf_Shdr *sechdr) Elf_Shdr *sechdr)
{ {
Elf_Rela *rela; Elf_Rela *rela;
...@@ -1452,12 +1452,12 @@ static void section_rela(const char *modname, struct elf_info *elf, ...@@ -1452,12 +1452,12 @@ static void section_rela(const char *modname, struct elf_info *elf,
break; break;
} }
check_section_mismatch(modname, elf, elf->symtab_start + r_sym, check_section_mismatch(mod, elf, elf->symtab_start + r_sym,
fsecndx, fromsec, r.r_offset, r.r_addend); fsecndx, fromsec, r.r_offset, r.r_addend);
} }
} }
static void section_rel(const char *modname, struct elf_info *elf, static void section_rel(struct module *mod, struct elf_info *elf,
Elf_Shdr *sechdr) Elf_Shdr *sechdr)
{ {
Elf_Rel *rel; Elf_Rel *rel;
...@@ -1507,7 +1507,7 @@ static void section_rel(const char *modname, struct elf_info *elf, ...@@ -1507,7 +1507,7 @@ static void section_rel(const char *modname, struct elf_info *elf,
fatal("Please add code to calculate addend for this architecture\n"); fatal("Please add code to calculate addend for this architecture\n");
} }
check_section_mismatch(modname, elf, elf->symtab_start + r_sym, check_section_mismatch(mod, elf, elf->symtab_start + r_sym,
fsecndx, fromsec, r.r_offset, r.r_addend); fsecndx, fromsec, r.r_offset, r.r_addend);
} }
} }
...@@ -1524,19 +1524,19 @@ static void section_rel(const char *modname, struct elf_info *elf, ...@@ -1524,19 +1524,19 @@ static void section_rel(const char *modname, struct elf_info *elf,
* to find all references to a section that reference a section that will * to find all references to a section that reference a section that will
* be discarded and warns about it. * be discarded and warns about it.
**/ **/
static void check_sec_ref(const char *modname, struct elf_info *elf) static void check_sec_ref(struct module *mod, struct elf_info *elf)
{ {
int i; int i;
Elf_Shdr *sechdrs = elf->sechdrs; Elf_Shdr *sechdrs = elf->sechdrs;
/* Walk through all sections */ /* Walk through all sections */
for (i = 0; i < elf->num_sections; i++) { for (i = 0; i < elf->num_sections; i++) {
check_section(modname, elf, &elf->sechdrs[i]); check_section(mod->name, elf, &elf->sechdrs[i]);
/* We want to process only relocation sections and not .init */ /* We want to process only relocation sections and not .init */
if (sechdrs[i].sh_type == SHT_RELA) if (sechdrs[i].sh_type == SHT_RELA)
section_rela(modname, elf, &elf->sechdrs[i]); section_rela(mod, elf, &elf->sechdrs[i]);
else if (sechdrs[i].sh_type == SHT_REL) else if (sechdrs[i].sh_type == SHT_REL)
section_rel(modname, elf, &elf->sechdrs[i]); section_rel(mod, elf, &elf->sechdrs[i]);
} }
} }
...@@ -1707,7 +1707,7 @@ static void read_symbols(const char *modname) ...@@ -1707,7 +1707,7 @@ static void read_symbols(const char *modname)
sym_get_data(&info, sym)); sym_get_data(&info, sym));
} }
check_sec_ref(modname, &info); check_sec_ref(mod, &info);
if (!mod->is_vmlinux) { if (!mod->is_vmlinux) {
version = get_modinfo(&info, "version"); version = get_modinfo(&info, "version");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment