Commit 9e993efb authored by Dmitriy Monakhov's avatar Dmitriy Monakhov Committed by Greg Kroah-Hartman

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: default avatarMonakhov Dmitriy <dmonakhov@openvz.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent a2807dbc
...@@ -385,9 +385,11 @@ int kobject_move(struct kobject *kobj, struct kobject *new_parent) ...@@ -385,9 +385,11 @@ int kobject_move(struct kobject *kobj, struct kobject *new_parent)
goto out; goto out;
old_parent = kobj->parent; old_parent = kobj->parent;
kobj->parent = new_parent; kobj->parent = new_parent;
new_parent = NULL;
kobject_put(old_parent); kobject_put(old_parent);
kobject_uevent_env(kobj, KOBJ_MOVE, envp); kobject_uevent_env(kobj, KOBJ_MOVE, envp);
out: out:
kobject_put(new_parent);
kobject_put(kobj); kobject_put(kobj);
kfree(devpath_string); kfree(devpath_string);
kfree(devpath); kfree(devpath);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment