diff options
author | Ming Lei <ming.lei@redhat.com> | 2022-07-19 00:08:51 +0800 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-07-18 13:12:11 -0600 |
commit | bf14fad19ffbb3d37a1bb1324f966973e7d4a7b6 (patch) | |
tree | 0bcb3d952a00800e6fde5f26a91231bc40d219eb /drivers/mmc/core | |
parent | fe3333f6953848f1c24e91a1cf70eed026dc3a86 (diff) |
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 <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20220718160851.312972-1-ming.lei@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/mmc/core')
-rw-r--r-- | drivers/mmc/core/block.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c index bda6c67ce93f..e08e22f0a7c5 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); |