Hi, based on the discussion in "How should an exit routine wait for release() callbacks?", I've cooked up some patches that make module unload wait until the last reference for a kobject has been dropped. This should plug the "release function in already deleted module" race; however, if the last kobject_put() from the module containing the release function is not in the module's exit function, there's still a small window (not sure if and how to plug this).
This new refcounting still needs to be exploited (i. e. a driver actually setting kobject->owner). Whether we need to set the owner for kobject or if for device would be sufficient is also still open to debate. [1/3] Use module->mkobj even if !CONFIG_SYSFS. [2/3] Expose module->mkobj reference count. [3/3] Introduce kobject->owner for refcounting. Patchset is only slightly tested, but comments are welcome :) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/