module: Fix mod->mkobj.kobj potentially freed too early
[linux-2.6-block.git] / kernel / params.c
index e5f8f17e57cf9e5d9fd25a372b825df4ca263e66..501bde4f3bee1476e1b0b293dda516dc815da680 100644 (file)
@@ -915,7 +915,14 @@ static const struct kset_uevent_ops module_uevent_ops = {
 struct kset *module_kset;
 int module_sysfs_initialized;
 
+static void module_kobj_release(struct kobject *kobj)
+{
+       struct module_kobject *mk = to_module_kobject(kobj);
+       complete(mk->kobj_completion);
+}
+
 struct kobj_type module_ktype = {
+       .release   =    module_kobj_release,
        .sysfs_ops =    &module_sysfs_ops,
 };