In load_module(), the going notifiers are called during error handling when an error occurs after the coming notifiers have already been called. However, a module's state is still MODULE_STATE_COMING when the going notifiers are called in the error path. To be consistent, also set mod->state to MODULE_STATE_GOING before calling the going notifiers. Signed-off-by: Jessica Yu <jeyu@xxxxxxxxxx> --- kernel/module.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/module.c b/kernel/module.c index 1981ae0..9e80576 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -3494,6 +3494,9 @@ static int load_module(struct load_info *info, const char __user *uargs, return do_init_module(mod); coming_cleanup: + mutex_lock(&module_mutex); + mod->state = MODULE_STATE_GOING; + mutex_unlock(&module_mutex); blocking_notifier_call_chain(&module_notify_list, MODULE_STATE_GOING, mod); -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe live-patching" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html