aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/module.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/module.c')
-rw-r--r--kernel/module.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/module.c b/kernel/module.c
index be4807fb90e4..68d05d2f4d8a 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2179,9 +2179,11 @@ sys_init_module(void __user *umod,
2179 return ret; 2179 return ret;
2180 } 2180 }
2181 2181
2182 /* Now it's a first class citizen! */ 2182 /* Now it's a first class citizen! Wake up anyone waiting for it. */
2183 mutex_lock(&module_mutex);
2184 mod->state = MODULE_STATE_LIVE; 2183 mod->state = MODULE_STATE_LIVE;
2184 wake_up(&module_wq);
2185
2186 mutex_lock(&module_mutex);
2185 /* Drop initial reference. */ 2187 /* Drop initial reference. */
2186 module_put(mod); 2188 module_put(mod);
2187 unwind_remove_table(mod->unwind_info, 1); 2189 unwind_remove_table(mod->unwind_info, 1);
@@ -2190,7 +2192,6 @@ sys_init_module(void __user *umod,
2190 mod->init_size = 0; 2192 mod->init_size = 0;
2191 mod->init_text_size = 0; 2193 mod->init_text_size = 0;
2192 mutex_unlock(&module_mutex); 2194 mutex_unlock(&module_mutex);
2193 wake_up(&module_wq);
2194 2195
2195 return 0; 2196 return 0;
2196} 2197}