瀏覽代碼

block, blk-sysfs: Fix an err return path in blk_register_queue()

We do not call blk_trace_remove_sysfs() in err return path
if kobject_add() fails. This path fixes it.

Cc: stable@kernel.org
Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Liu Yuan 14 年之前
父節點
當前提交
ed5302d3c2
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      block/blk-sysfs.c

+ 3 - 1
block/blk-sysfs.c

@@ -508,8 +508,10 @@ int blk_register_queue(struct gendisk *disk)
 		return ret;
 		return ret;
 
 
 	ret = kobject_add(&q->kobj, kobject_get(&dev->kobj), "%s", "queue");
 	ret = kobject_add(&q->kobj, kobject_get(&dev->kobj), "%s", "queue");
-	if (ret < 0)
+	if (ret < 0) {
+		blk_trace_remove_sysfs(dev);
 		return ret;
 		return ret;
+	}
 
 
 	kobject_uevent(&q->kobj, KOBJ_ADD);
 	kobject_uevent(&q->kobj, KOBJ_ADD);