module: add config option MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS
If MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is enabled (default=n), the requirement for modules to import all namespaces that are used by the module is relaxed. Enabling this option effectively allows (invalid) modules to be loaded while only a warning is emitted. Disabling this option keeps the enforcement at module loading time and loading is denied if the module's imports are not satisfactory. Reviewed-by: Martijn Coenen <maco@android.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Matthias Maennich <maennich@google.com> Signed-off-by: Jessica Yu <jeyu@kernel.org>
This commit is contained in:

committed by
Jessica Yu

parent
cb9b55d21f
commit
3d52ec5e5d
@@ -1408,9 +1408,16 @@ static int verify_namespace_is_imported(const struct load_info *info,
|
||||
imported_namespace = get_next_modinfo(
|
||||
info, "import_ns", imported_namespace);
|
||||
}
|
||||
pr_err("%s: module uses symbol (%s) from namespace %s, but does not import it.\n",
|
||||
mod->name, kernel_symbol_name(sym), namespace);
|
||||
#ifdef CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS
|
||||
pr_warn(
|
||||
#else
|
||||
pr_err(
|
||||
#endif
|
||||
"%s: module uses symbol (%s) from namespace %s, but does not import it.\n",
|
||||
mod->name, kernel_symbol_name(sym), namespace);
|
||||
#ifndef CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS
|
||||
return -EINVAL;
|
||||
#endif
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user