mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] Fix for module initialization failure
@ 2003-10-29 23:35 Rusty Russell
  2003-10-30  0:01 ` Paul Mackerras
  0 siblings, 1 reply; 2+ messages in thread
From: Rusty Russell @ 2003-10-29 23:35 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, paulus

Need a module_arch_cleanup() after a successful module_finalize()
call: it was missing in the case where module->init() fails.  Since
module_arch_cleanup() is a noop on x86, I didn't spot it earlier.

Thanks to Paul Mackerras for prodding me about this again...

Rusty.

Name: Always call module_arch_cleanup
Author: Rusty Russell
Status: Booted on 2.6.0-test5-bk1

D: Bug reported by Paul Mackerras: if a module parameter fails, we didn't
D: call module_arch_cleanup().

diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal linux-2.6.0-test5-bk1/kernel/module.c working-2.6.0-test5-bk1-module-greg-orig/kernel/module.c
--- linux-2.6.0-test5-bk1/kernel/module.c	2003-09-09 10:35:05.000000000 +1000
+++ working-2.6.0-test5-bk1-module-greg-orig/kernel/module.c	2003-09-11 15:14:32.000000000 +1000
@@ -1653,7 +1660,7 @@ static struct module *load_module(void _
 				 NULL);
 	}
 	if (err < 0)
-		goto cleanup;
+		goto arch_cleanup;
 
 	/* Get rid of temporary copy */
 	vfree(hdr);
@@ -1661,6 +1668,8 @@ static struct module *load_module(void _
 	/* Done! */
 	return mod;
 
+ arch_cleanup:
+	module_arch_cleanup(mod);
  cleanup:
 	module_unload_free(mod);
 	module_free(mod, mod->module_init);

--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-10-29 23:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-29 23:35 [PATCH] Fix for module initialization failure Rusty Russell
2003-10-30  0:01 ` Paul Mackerras

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®