]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
mmc: block: blk-mq: Potential NULL deref on mmc_blk_alloc_req() failure
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 8 Dec 2017 11:55:16 +0000 (14:55 +0300)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 11 Dec 2017 12:13:38 +0000 (13:13 +0100)
mmc_blk_alloc_req() is supposed to return error pointers but there is
one path where we forget to set the error code and accidentally return
NULL.  The callers are not expecting that and will have a NULL pointer
dereference.

Fixes: 41e3efd07d5a ("mmc: block: Simplify cleaning up the queue")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/block.c

index 579fc0bd722f39e257863d0ffd96b2c6baa3932a..654fc1ebd675b1a57ddec6a6229a9815d842db3c 100644 (file)
@@ -2328,6 +2328,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
         */
        if (!blk_get_queue(md->queue.queue)) {
                mmc_cleanup_queue(&md->queue);
+               ret = -ENODEV;
                goto err_putdisk;
        }