diff --git a/MAINTAINERS b/MAINTAINERS index c344e9e1177a..cf4258338587 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -9280,7 +9280,6 @@ F: drivers/media/dvb-frontends/mn88473* MODULE SUPPORT M: Jessica Yu -M: Rusty Russell T: git git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux.git modules-next S: Maintained F: include/linux/module.h @@ -10430,7 +10429,6 @@ F: Documentation/parport*.txt PARAVIRT_OPS INTERFACE M: Juergen Gross M: Alok Kataria -M: Rusty Russell L: virtualization@lists.linux-foundation.org S: Supported F: Documentation/virtual/paravirt_ops.txt diff --git a/kernel/module.c b/kernel/module.c index ccdf24c4949e..ad2d420024f6 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -3804,6 +3804,7 @@ static int load_module(struct load_info *info, const char __user *uargs, module_disable_nx(mod); ddebug_cleanup: + ftrace_release_mod(mod); dynamic_debug_remove(mod, info->debug); synchronize_sched(); kfree(mod->args); @@ -3823,12 +3824,6 @@ static int load_module(struct load_info *info, const char __user *uargs, synchronize_sched(); mutex_unlock(&module_mutex); free_module: - /* - * Ftrace needs to clean up what it initialized. - * This does nothing if ftrace_module_init() wasn't called, - * but it must be called outside of module_mutex. - */ - ftrace_release_mod(mod); /* Free lock-classes; relies on the preceding sync_rcu() */ lockdep_free_key_range(mod->core_layout.base, mod->core_layout.size); diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 6510536c06df..9917f928d0fd 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -1685,7 +1685,7 @@ static void extable_mismatch_handler(const char* modname, struct elf_info *elf, static void check_section_mismatch(const char *modname, struct elf_info *elf, Elf_Rela *r, Elf_Sym *sym, const char *fromsec) { - const char *tosec = sec_name(elf, get_secindex(elf, sym));; + const char *tosec = sec_name(elf, get_secindex(elf, sym)); const struct sectioncheck *mismatch = section_mismatch(fromsec, tosec); if (mismatch) {