Messages in this thread Patch in this message | | | Subject | Re: [patch] kobject: new_device->kref wasn't putted in kobject_move() | From | Dmitriy Monakhov <> | Date | Sat, 03 Mar 2007 16:11:21 +0300 |
| |
Dmitriy Monakhov <dmonakhov@sw.ru> writes:
> Signed-off-by: Monakhov Dmitriy <dmonakhov@openvz.org> > > diff --git a/lib/kobject.c b/lib/kobject.c > index b94f208..b11f7b2 100644 > --- a/lib/kobject.c > +++ b/lib/kobject.c > @@ -432,6 +432,7 @@ int kobject_move(struct kobject *kobj, struct kobject *new_parent) > kobject_put(old_parent); > kobject_uevent_env(kobj, KOBJ_MOVE, envp); > out: > + kobject_put(new_parent); > kobject_put(kobj); > kfree(devpath_string); > kfree(devpath); OOps i'm realy sorry, by occasion patch was incomplete :( The updated patch version following:
[PATCH] kobject: new_device->kref wasn't putted after error in kobject_move() If error happen we jump to "out" label, in this case new_device not yet became the parent but it wasn't putted.
Signed-off-by: Monakhov Dmitriy <dmonakhov@openvz.org>
diff --git a/lib/kobject.c b/lib/kobject.c index b94f208..a6c9a06 100644 --- a/lib/kobject.c +++ b/lib/kobject.c @@ -429,9 +429,11 @@ int kobject_move(struct kobject *kobj, struct kobject *new_parent) goto out; old_parent = kobj->parent; kobj->parent = new_parent; + new_parent = NULL; kobject_put(old_parent); kobject_uevent_env(kobj, KOBJ_MOVE, envp); out: + kobject_put(new_parent); kobject_put(kobj); kfree(devpath_string); kfree(devpath);
- 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/
| |