[patch] NVMe: return an error code if blk_mq_alloc_tag_set() fails
Jens Axboe
axboe at kernel.dk
Wed Jan 21 20:40:37 PST 2015
On 01/19/2015 07:43 AM, Dan Carpenter wrote:
> In the current code, if blk_mq_alloc_tag_set() fails then it returns
> zero (success) instead of preserving the error code. The caller is not
> expecting that and the kernel could be left in an inconsistent state.
>
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Looks good to me, Keith, could you ack/review it? Leaving it below...
> Static analysis stuff. Not tested.
>
> diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c
> index cb529e9..2ff5efc 100644
> --- a/drivers/block/nvme-core.c
> +++ b/drivers/block/nvme-core.c
> @@ -2152,7 +2152,8 @@ static int nvme_dev_add(struct nvme_dev *dev)
> dev->tagset.flags = BLK_MQ_F_SHOULD_MERGE;
> dev->tagset.driver_data = dev;
>
> - if (blk_mq_alloc_tag_set(&dev->tagset))
> + res = blk_mq_alloc_tag_set(&dev->tagset);
> + if (res)
> goto out;
>
> id_ns = mem;
>
> _______________________________________________
> Linux-nvme mailing list
> Linux-nvme at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-nvme
>
--
Jens Axboe
More information about the Linux-nvme
mailing list