modpost: pass struct module pointer to check_section_mismatch()
authorMasahiro Yamada <masahiroy@kernel.org>
Sun, 11 Jun 2023 15:50:51 +0000 (00:50 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Thu, 15 Jun 2023 12:39:49 +0000 (21:39 +0900)
The next commit will use it.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
scripts/mod/modpost.c

index 8decf04633bc0616420dfbc8300b443e73295c37..403ba4d923f55fec0c901eaa861b3b93be2c47ca 100644 (file)
@@ -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,
                                   unsigned int fsecndx, const char *fromsec,
                                   Elf_Addr faddr, Elf_Addr taddr)
@@ -1222,7 +1222,7 @@ static void check_section_mismatch(const char *modname, struct elf_info *elf,
        if (!mismatch)
                return;
 
-       default_mismatch_handler(modname, elf, mismatch, sym,
+       default_mismatch_handler(mod->name, elf, mismatch, sym,
                                 fsecndx, fromsec, faddr,
                                 tosec, taddr);
 }
@@ -1406,7 +1406,7 @@ static int addend_mips_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r)
 #define R_LARCH_SUB32          55
 #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_Rela *rela;
@@ -1452,12 +1452,12 @@ static void section_rela(const char *modname, struct elf_info *elf,
                        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);
        }
 }
 
-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_Rel *rel;
@@ -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");
                }
 
-               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);
        }
 }
@@ -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
  * 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;
        Elf_Shdr *sechdrs = elf->sechdrs;
 
        /* Walk through all sections */
        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 */
                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)
-                       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)
                                             sym_get_data(&info, sym));
        }
 
-       check_sec_ref(modname, &info);
+       check_sec_ref(mod, &info);
 
        if (!mod->is_vmlinux) {
                version = get_modinfo(&info, "version");