diff options
Diffstat (limited to 'kernel/module.c')
| -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); |
