diff options
Diffstat (limited to 'kernel/module.c')
| -rw-r--r-- | kernel/module.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/module.c b/kernel/module.c index 8f051a106676..38c7bd5583ff 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -3571,6 +3571,12 @@ 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->module_core, mod->core_size);  | 
