Messages in this thread Patch in this message | | | Subject | [PATCH] Don't ignore try_stop_module return | From | Rusty Russell <> | Date | Mon, 01 Nov 2004 18:01:45 +1100 |
| |
Name: Fix Module Removal Bug: Don't Ignore try_stop_module Return Status: Trivial Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |