Prev: [033/165] drm/i915: Define MI_ARB_STATE bits
Next: [003/165] hwmon: (k8temp) Bypass core swapping on single-core processors
From: Greg KH on 30 Jul 2010 15:20 2.6.32-stable review patch. If anyone has any objections, please let us know. ------------------ From: Jason Baron <jbaron(a)redhat.com> 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(a)redhat.com> Reported-by: Thomas Renninger <trenn(a)suse.de> Tested-by: Thomas Renninger <trenn(a)suse.de> Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh(a)suse.de> --- kernel/module.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/kernel/module.c +++ b/kernel/module.c @@ -870,7 +870,6 @@ SYSCALL_DEFINE2(delete_module, const cha mutex_lock(&module_mutex); /* 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); free_module(mod); out: @@ -1533,6 +1532,9 @@ static void free_module(struct module *m remove_sect_attrs(mod); mod_kobject_remove(mod); + /* Remove dynamic debug info */ + ddebug_remove_module(mod->name); + /* Arch-specific cleanup. */ module_arch_cleanup(mod); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |