diff options
-rw-r--r-- | kernel/module.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/module.c b/kernel/module.c index 05f014efa32c..e797812a4d95 100644 --- a/kernel/module.c +++ b/kernel/module.c | |||
@@ -2388,6 +2388,9 @@ SYSCALL_DEFINE3(init_module, void __user *, umod, | |||
2388 | blocking_notifier_call_chain(&module_notify_list, | 2388 | blocking_notifier_call_chain(&module_notify_list, |
2389 | MODULE_STATE_LIVE, mod); | 2389 | MODULE_STATE_LIVE, mod); |
2390 | 2390 | ||
2391 | /* We need to finish all async code before the module init sequence is done */ | ||
2392 | async_synchronize_full(); | ||
2393 | |||
2391 | mutex_lock(&module_mutex); | 2394 | mutex_lock(&module_mutex); |
2392 | /* Drop initial reference. */ | 2395 | /* Drop initial reference. */ |
2393 | module_put(mod); | 2396 | module_put(mod); |