diff options
| author | Dave Young <[email protected]> | 2007-12-17 16:20:00 -0800 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2007-12-17 19:28:16 -0800 |
| commit | d17a18dd92c91c784fcf7c785fa6bbf178fd0a6d (patch) | |
| tree | b30a69a515dc3d183ff8ce0074433d6e6cfa2305 | |
| parent | bbd0682596f7a434467ee551fee18d5f0b818539 (diff) | |
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 <[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]>
| -rw-r--r-- | drivers/block/pktcdvd.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c index a5ee21319d37..3535ef896677 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; } /* |