Re: [PATCH 1/4] module: implement module_inhibit_unload()

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Rusty Russell
Date: Monday, September 24, 2007 - 9:38 pm

On Tue, 2007-09-25 at 12:36 +0900, Tejun Heo wrote:

Because you don't know what that code does.  After all, it's assumed
that module code doesn't get called after exit and you're deliberately
violating that assumption.


Have you tested that *this* path works?  Let's take your first change as
an example:

+       mutex_lock(&gdev->reg_mutex);
+       __ccwgroup_remove_symlinks(gdev);
+       device_unregister(dev);
+       mutex_unlock(&gdev->reg_mutex);

Now, are you sure that calling cleanup_ccwgroup just after
device_unregister() works?

static void __exit
cleanup_ccwgroup (void)
{
	bus_unregister (&ccwgroup_bus_type);
}


But your shortcut insists that all module authors be aware that
functions can be running after exit() is called.  That's a recipe for
instability and disaster.

Rusty.

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 3/4] sysfs: care-free suicide for sysfs files, Tejun Heo, (Thu Sep 20, 12:26 am)
[PATCHSET 2/4] sysfs: allow suicide, Tejun Heo, (Thu Sep 20, 12:26 am)
Re: [PATCH 1/4] module: implement module_inhibit_unload() , Jonathan Corbet, (Mon Sep 24, 3:00 pm)
Re: [PATCH 1/4] module: implement module_inhibit_unload(), Rusty Russell, (Mon Sep 24, 4:42 pm)
Re: [PATCH 1/4] module: implement module_inhibit_unload(), Rusty Russell, (Mon Sep 24, 7:12 pm)
Re: [PATCH 1/4] module: implement module_inhibit_unload(), Rusty Russell, (Mon Sep 24, 8:21 pm)
Re: [PATCH 1/4] module: implement module_inhibit_unload(), Rusty Russell, (Mon Sep 24, 9:38 pm)
Re: [PATCH 1/4] module: implement module_inhibit_unload(), Cornelia Huck, (Tue Sep 25, 1:01 am)
Re: [PATCH 1/4] module: implement module_inhibit_unload(), Rusty Russell, (Tue Sep 25, 1:50 am)
Re: [PATCHSET 2/4] sysfs: allow suicide, Greg KH, (Tue Sep 25, 3:02 pm)
Re: [PATCH 1/4] module: implement module_inhibit_unload(), Rusty Russell, (Tue Sep 25, 4:41 pm)