projects/linux·commit d17a18dd

pktcdvd: add kobject_put when kobject register fails

d17a18dd · Dave Young <[email protected]> · 2007-12-17 16:20:00 -08:00

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 <[email protected]>
Reviewed-by: Pekka Enberg <[email protected]>
Cc: Greg KH <[email protected]>
Cc: Peter Osterlund <[email protected]>
Cc: Jens Axboe <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Commit
d17a18dd92c91c784fcf7c785fa6bbf178fd0a6d
Parents
bbd06825

Changes

1 files changed · +3 −1

FileStatusAddDelContent
drivers/block/pktcdvd.cmodified+3−1View file

drivers/block/pktcdvd.c

View file
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
index a5ee213..3535ef8 100644
--- a/drivers/block/pktcdvd.c
+++ b/drivers/block/pktcdvd.c
@@ -117,8 +117,10 @@ static struct pktcdvd_kobj* pkt_kobj_create(struct pktcdvd_device *pd,
p->kobj.parent = parent;
p->kobj.ktype = ktype;
p->pd = pd;
- if (kobject_register(&p->kobj) != 0)
+ if (kobject_register(&p->kobj) != 0) {
+ kobject_put(&p->kobj);
return NULL;
+ }
return p;
}
/*