Commit 4ddea2f8 authored by Masahiro Yamada's avatar Masahiro Yamada

modpost: do not call get_modinfo() for vmlinux(.o)

The three calls of get_modinfo() ("license", "import_ns", "version")
always return NULL for vmlinux(.o) because the built-in module info is
prefixed with __MODULE_INFO_PREFIX.

It is harmless to call get_modinfo(), but there is no point to search
for what apparently does not exist.
Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
parent f6931535
......@@ -2006,11 +2006,10 @@ static void read_symbols(const char *modname)
mod->skip = 1;
}
if (!is_vmlinux(modname)) {
license = get_modinfo(&info, "license");
if (!license && !is_vmlinux(modname))
warn("missing MODULE_LICENSE() in %s\n"
"see include/linux/module.h for "
"more information\n", modname);
if (!license)
warn("missing MODULE_LICENSE() in %s\n", modname);
while (license) {
if (license_is_gpl_compatible(license))
mod->gpl_compatible = 1;
......@@ -2024,7 +2023,9 @@ static void read_symbols(const char *modname)
namespace = get_modinfo(&info, "import_ns");
while (namespace) {
add_namespace(&mod->imported_namespaces, namespace);
namespace = get_next_modinfo(&info, "import_ns", namespace);
namespace = get_next_modinfo(&info, "import_ns",
namespace);
}
}
for (sym = info.symtab_start; sym < info.symtab_stop; sym++) {
......@@ -2065,10 +2066,12 @@ static void read_symbols(const char *modname)
if (!is_vmlinux(modname) || vmlinux_section_warnings)
check_sec_ref(mod, modname, &info);
if (!is_vmlinux(modname)) {
version = get_modinfo(&info, "version");
if (version || (all_versions && !is_vmlinux(modname)))
if (version || all_versions)
get_src_version(modname, mod->srcversion,
sizeof(mod->srcversion)-1);
sizeof(mod->srcversion) - 1);
}
parse_elf_finish(&info);
......
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