|
@@ -3557,6 +3557,7 @@ static int load_module(struct load_info *info, const char __user *uargs,
|
|
mutex_lock(&module_mutex);
|
|
mutex_lock(&module_mutex);
|
|
/* Unlink carefully: kallsyms could be walking list. */
|
|
/* Unlink carefully: kallsyms could be walking list. */
|
|
list_del_rcu(&mod->list);
|
|
list_del_rcu(&mod->list);
|
|
|
|
+ mod_tree_remove(mod);
|
|
wake_up_all(&module_wq);
|
|
wake_up_all(&module_wq);
|
|
/* Wait for RCU-sched synchronizing before releasing mod->list. */
|
|
/* Wait for RCU-sched synchronizing before releasing mod->list. */
|
|
synchronize_sched();
|
|
synchronize_sched();
|