virtio-blk: free vblk-vqs in error path of virtblk_probe()
authorHou Tao <houtao1@huawei.com>
Mon, 15 Jun 2020 04:14:59 +0000 (12:14 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jul 2020 07:35:56 +0000 (09:35 +0200)
[ Upstream commit e7eea44eefbdd5f0345a0a8b80a3ca1c21030d06 ]

Else there will be memory leak if alloc_disk() fails.

Fixes: 6a27b656fc02 ("block: virtio-blk: support multi virt queues per virtio-blk device")
Signed-off-by: Hou Tao <houtao1@huawei.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/block/virtio_blk.c

index f287eec36b282c62b3e10a8714589db2118f071e..e57a1f6e39d5cb5482406c1a916395264ece90f4 100644 (file)
@@ -749,6 +749,7 @@ out_put_disk:
        put_disk(vblk->disk);
 out_free_vq:
        vdev->config->del_vqs(vdev);
+       kfree(vblk->vqs);
 out_free_vblk:
        kfree(vblk);
 out_free_index: