[PATCH] Don't ignore try_stop_module return

From: Rusty Russell
Date: Tue Nov 02 2004 - 04:37:20 EST


Name: Fix Module Removal Bug: Don't Ignore try_stop_module Return
Status: Trivial
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

Since 2.6.4 we've been ignoring the failure of try_stop_module: it
will normally fail if the module reference count is non-zero. This
would have been mainly unnoticed, since "modprobe -r" checks the usage
count before calling sys_delete_module(), however there is a race
which would cause a hang in this case.

Index: linux-2.6.10-rc1-bk10-Module/kernel/module.c
===================================================================
--- linux-2.6.10-rc1-bk10-Module.orig/kernel/module.c 2004-11-01 17:54:17.861349784 +1100
+++ linux-2.6.10-rc1-bk10-Module/kernel/module.c 2004-11-01 17:57:15.020417512 +1100
@@ -576,6 +576,8 @@

/* Stop the machine so refcounts can't move and disable module. */
ret = try_stop_module(mod, flags, &forced);
+ if (ret != 0)
+ goto out;

/* Never wait if forced. */
if (!forced && module_refcount(mod) != 0)

--
A bad analogy is like a leaky screwdriver -- Richard Braakman

-
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/