diff options
| author | Ingo Molnar <mingo@kernel.org> | 2019-12-30 08:10:51 +0100 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2019-12-30 08:10:51 +0100 |
| commit | 28336be568bb473d16ba80db0801276fb4f1bbe5 (patch) | |
| tree | cf2d7a56e6c3ea08139d8d9a5a58b296bd172136 /kernel/module.c | |
| parent | 5cbaefe9743bf14c9d3106db0cc19f8cb0a3ca22 (diff) | |
| parent | fd6988496e79a6a4bdb514a4655d2920209eb85d (diff) | |
| download | cachepc-linux-28336be568bb473d16ba80db0801276fb4f1bbe5.tar.gz cachepc-linux-28336be568bb473d16ba80db0801276fb4f1bbe5.zip | |
Merge tag 'v5.5-rc4' into locking/kcsan, to resolve conflicts
Conflicts:
init/main.c
lib/Kconfig.debug
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/module.c')
| -rw-r--r-- | kernel/module.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/module.c b/kernel/module.c index ff2d7359a418..b56f3224b161 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -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 |
