From: Linus Torvalds Date: Mon, 21 Jan 2013 04:22:58 +0000 (-0800) Subject: module: fix missing module_mutex unlock X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=ee61abb3223e28a1a14a8429c0319755d20d3e40;p=~shefty%2Frdma-dev.git module: fix missing module_mutex unlock Commit 1fb9341ac348 ("module: put modules in list much earlier") moved some of the module initialization code around, and in the process changed the exit paths too. But for the duplicate export symbol error case the change made the ddebug_cleanup path jump to after the module mutex unlock, even though it happens with the mutex held. Rusty has some patches to split this function up into some helper functions, hopefully the mess of complex goto targets will go away eventually. Reported-by: Dan Carpenter Cc: Rusty Russell Signed-off-by: Linus Torvalds --- diff --git a/kernel/module.c b/kernel/module.c index d25e359279a..eab08274ec9 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -3274,8 +3274,8 @@ again: /* module_bug_cleanup needs module_mutex protection */ mutex_lock(&module_mutex); module_bug_cleanup(mod); - mutex_unlock(&module_mutex); ddebug_cleanup: + mutex_unlock(&module_mutex); dynamic_debug_remove(info->debug); synchronize_sched(); kfree(mod->args);