]> git.ipfire.org Git - thirdparty/linux.git/blobdiff - kernel/module.c
Merge tag 'trace-v5.5-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[thirdparty/linux.git] / kernel / module.c
index ff2d7359a41896ad58deb18a679eb967f3523f38..b56f3224b161b3f01f181bba97fd57e7eb04773d 100644 (file)
@@ -1033,6 +1033,8 @@ SYSCALL_DEFINE2(delete_module, const char __user *, name_user,
        strlcpy(last_unloaded_module, mod->name, sizeof(last_unloaded_module));
 
        free_module(mod);
+       /* someone could wait for the module in add_unformed_module() */
+       wake_up_all(&module_wq);
        return 0;
 out:
        mutex_unlock(&module_mutex);
@@ -1400,7 +1402,7 @@ static int verify_namespace_is_imported(const struct load_info *info,
        char *imported_namespace;
 
        namespace = kernel_symbol_namespace(sym);
-       if (namespace) {
+       if (namespace && namespace[0]) {
                imported_namespace = get_modinfo(info, "import_ns");
                while (imported_namespace) {
                        if (strcmp(namespace, imported_namespace) == 0)
@@ -3222,7 +3224,7 @@ static int find_module_sections(struct module *mod, struct load_info *info)
 #endif
 #ifdef CONFIG_FTRACE_MCOUNT_RECORD
        /* sechdrs[0].sh_size is always zero */
-       mod->ftrace_callsites = section_objs(info, "__mcount_loc",
+       mod->ftrace_callsites = section_objs(info, FTRACE_CALLSITE_SECTION,
                                             sizeof(*mod->ftrace_callsites),
                                             &mod->num_ftrace_callsites);
 #endif