[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140718094518.GA2121@lst.de>
Date: Fri, 18 Jul 2014 11:45:18 +0200
From: Christoph Hellwig <hch@....de>
To: Robert Elliott <elliott@...com>
Cc: axboe@...nel.dk, abhijit.mahajan@...gotech.com, kmo@...arainc.com,
nagalakshmi.nandigama@...gotech.com, asamymuthupa@...ron.com,
snitzer@...hat.com, JBottomley@...allels.com,
relliott@...rdog.cce.hp.com, sreekanth.reddy@...gotech.com,
praveen.krishnamoorthy@...gotech.com, agordeev@...hat.com,
scameron@...rdog.cce.hp.com, tom.leiming@...il.com,
sbradshaw@...ron.com, hch@....de, m@...rling.me,
linux-kernel@...r.kernel.org, linux-scsi@...r.kernel.org
Subject: Re: [PATCH 1/3] blk-mq: cleanup after blk_mq_init_rq_map failures
On Thu, Jul 17, 2014 at 02:39:09PM -0500, Robert Elliott wrote:
> In blk-mq.c blk_mq_alloc_tag_set, if:
> set->tags = kmalloc_node()
> succeeds, but one of the blk_mq_init_rq_map() calls fails,
> goto out_unwind;
> needs to free set->tags so the caller is not obligated
> to do so. None of the current callers (null_blk,
> virtio_blk, virtio_blk, or the forthcoming scsi-mq)
> do so.
>
> set->tags needs to be set to NULL after doing so,
> so other tag cleanup logic doesn't try to free
> a stale pointer later. Also set it to NULL
> in blk_mq_free_tag_set.
>
> Tested with error injection on the forthcoming
> scsi-mq + hpsa combination.
>
> Signed-off-by: Robert Elliott <elliott@...com>
Looks good,
Reviewed-by: Christoph Hellwig <hch@....de>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists