pktcdvd: add kobject_put when kobject register fails

In kobject_register, the kobject reference is get in kobject_init, and then
kobject_add.  If kobject_add fail, it will only cleanup the reference got
by itself.

Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Greg KH <greg@kroah.com>
Cc: Peter Osterlund <petero2@telia.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Dave Young 2007-12-17 16:20:00 -08:00 коммит произвёл Linus Torvalds
Родитель bbd0682596
Коммит d17a18dd92
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -117,8 +117,10 @@ static struct pktcdvd_kobj* pkt_kobj_create(struct pktcdvd_device *pd,
p->kobj.parent = parent; p->kobj.parent = parent;
p->kobj.ktype = ktype; p->kobj.ktype = ktype;
p->pd = pd; p->pd = pd;
if (kobject_register(&p->kobj) != 0) if (kobject_register(&p->kobj) != 0) {
kobject_put(&p->kobj);
return NULL; return NULL;
}
return p; return p;
} }
/* /*