kobject_add takes a refcount to the object dev->kobj, but forget to release it before return, lead to a memory leak. Signed-off-by: Lin Yi <teroincn@xxxxxxx> Fixes: 7bd1d5edd016 ("Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip") Cc: stable@xxxxxxxxxxxxxxx --- block/blk-sysfs.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c index 75b5281..539b7cb 100644 --- a/block/blk-sysfs.c +++ b/block/blk-sysfs.c @@ -971,6 +971,7 @@ int blk_register_queue(struct gendisk *disk) ret = kobject_add(&q->kobj, kobject_get(&dev->kobj), "%s", "queue"); if (ret < 0) { blk_trace_remove_sysfs(dev); + kobject_put(&dev->kobj); goto unlock; } -- 1.9.1