[045/140] dynamic debug: move ddebug_remove_module() down into free_module()

From: Greg KH
Date: Fri Jul 30 2010 - 13:36:04 EST

2.6.33-stable review patch. If anyone has any objections, please let us know.


From: Jason Baron <jbaron@xxxxxxxxxx>

commit b82bab4bbe9efa7bc7177fc20620fff19bd95484 upstream.

The command

echo "file ec.c +p" >/sys/kernel/debug/dynamic_debug/control

causes an oops.

Move the call to ddebug_remove_module() down into free_module(). In this
way it should be called from all error paths. Currently, we are missing
the remove if the module init routine fails.

Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
Reported-by: Thomas Renninger <trenn@xxxxxxx>
Tested-by: Thomas Renninger <trenn@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

kernel/module.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

--- a/kernel/module.c
+++ b/kernel/module.c
@@ -720,7 +720,6 @@ SYSCALL_DEFINE2(delete_module, const cha
/* Store the name of the last unloaded module for diagnostic purposes */
strlcpy(last_unloaded_module, mod->name, sizeof(last_unloaded_module));
- ddebug_remove_module(mod->name);

@@ -1383,6 +1382,9 @@ static void free_module(struct module *m

+ /* Remove dynamic debug info */
+ ddebug_remove_module(mod->name);
/* Arch-specific cleanup. */

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/