Skip to contentSkip to conversation

ublk_drv: missing error code in ublk_add_dev()

PATCH Applied Dan Carpenter 2 participants 2 messages Jul 18, 2022

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 3/3 ublk_drv: missing error code in ublk_add_dev()

This error path accidentally returns success instead of a negative error code.

Fixes cebbe577cb17 ("ublk_drv: fix request queue leak")
---
 drivers/block/ublk_drv.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/block/ublk_drv.c +3 -1
index c0f9a5b4ed58..332472901ff8 100644
@@ -1169,8 +1169,10 @@ static int ublk_add_dev(struct ublk_device *ub)
 		goto out_deinit_queues;
 
 	ub->ub_queue = blk_mq_init_queue(&ub->tag_set);
-	if (IS_ERR(ub->ub_queue))
+	if (IS_ERR(ub->ub_queue)) {
+		err = PTR_ERR(ub->ub_queue);
 		goto out_cleanup_tags;
+	}
 	ub->ub_queue->queuedata = ub;
 
 	disk = ub->ub_disk = blk_mq_alloc_disk_for_queue(ub->ub_queue,
Signature · 1 line
2.35.1
#1 lore raw
Quoted 14 lines · Dan Carpenter

This error path accidentally returns success instead of a negative error code.

Fixes cebbe577cb17 ("ublk_drv: fix request queue leak")
---
 drivers/block/ublk_drv.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/block/ublk_drv.c +0 -0
index c0f9a5b4ed58..332472901ff8 100644

drivers/block/ublk_drv.c static int ublk_add_dev(struct ublk_device *ub) · line 1175

Quoted 8 lines
drivers/block/ublk_drv.c +3 -1
@@ -1169,8 +1169,10 @@ static int ublk_add_dev(struct ublk_device *ub)
 		goto out_deinit_queues;
 
 	ub->ub_queue = blk_mq_init_queue(&ub->tag_set);
-	if (IS_ERR(ub->ub_queue))
+	if (IS_ERR(ub->ub_queue)) {
+		err = PTR_ERR(ub->ub_queue);
 		goto out_cleanup_tags;
+	}

Yang Yingliang has posted one same patch:

https://lore.kernel.org/linux-block/YtUOhUXBKG28bew4@T590/T/#t

Thanks,
Ming