From: Ming Lei Date: Mon, 18 Jul 2022 16:08:51 +0000 (+0800) Subject: mmc: fix disk/queue leak in case of adding disk failure X-Git-Tag: baikal/mips/sdk6.1~5192^2~16 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=203cb3173cd78b58e8fbe43e668b93fcacca8fee;p=kernel.git mmc: fix disk/queue leak in case of adding disk failure In case of adding disk failure, the disk needs to be released, otherwise disk/queue is leaked. Signed-off-by: Ming Lei Link: https://lore.kernel.org/r/20220718160851.312972-1-ming.lei@redhat.com Signed-off-by: Jens Axboe --- diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c index bda6c67ce93f4..e08e22f0a7c57 100644 --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c @@ -2505,10 +2505,11 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card, dev_set_drvdata(&card->dev, md); ret = device_add_disk(md->parent, md->disk, mmc_disk_attr_groups); if (ret) - goto err_cleanup_queue; + goto err_put_disk; return md; - err_cleanup_queue: + err_put_disk: + put_disk(md->disk); blk_mq_free_tag_set(&md->queue.tag_set); err_kfree: kfree(md);