nbd: Fix incorrect error handle when first_minor is illegal in nbd_dev_add
authorYe Bin <yebin10@huawei.com>
Tue, 2 Nov 2021 01:52:36 +0000 (09:52 +0800)
committerJens Axboe <axboe@kernel.dk>
Tue, 2 Nov 2021 16:50:27 +0000 (10:50 -0600)
If first_minor is illegal will goto out_free_idr label, this will miss
cleanup disk.

Fixes: b1a811633f73 ("block: nbd: add sanity check for first_minor")
Signed-off-by: Ye Bin <yebin10@huawei.com>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Link: https://lore.kernel.org/r/20211102015237.2309763-4-yebin10@huawei.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/nbd.c

index a5e3ee28006f9fc1383a918fe86dacdf2c09d45b..f201c40d1dc9f03d58e40612f6cd4d66dcd4d0a3 100644 (file)
@@ -1814,7 +1814,7 @@ static struct nbd_device *nbd_dev_add(int index, unsigned int refs)
        disk->first_minor = index << part_shift;
        if (disk->first_minor < index || disk->first_minor > MINORMASK) {
                err = -EINVAL;
-               goto out_free_idr;
+               goto out_err_disk;
        }
 
        disk->minors = 1 << part_shift;