Message ID | 20181129105654.5icpvxx7p2kq257c@kili.mountain (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] ataflop: fix error handling in atari_floppy_init() | expand |
On 11/29/18 3:56 AM, Dan Carpenter wrote: > I recently found some code which called blk_mq_free_map_and_requests() > with a NULL set->tags pointer. I fixed the caller, but it seems like a > good idea to add a NULL check here as well. Now we can call: > > blk_mq_free_tag_set(set); > blk_mq_free_tag_set(set); > > twice in a row and it's harmless. Applied, thanks.
diff --git a/block/blk-mq.c b/block/blk-mq.c index a82830f39933..5f4b93f424b4 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -2341,7 +2341,7 @@ static bool __blk_mq_alloc_rq_map(struct blk_mq_tag_set *set, int hctx_idx) static void blk_mq_free_map_and_requests(struct blk_mq_tag_set *set, unsigned int hctx_idx) { - if (set->tags[hctx_idx]) { + if (set->tags && set->tags[hctx_idx]) { blk_mq_free_rqs(set, set->tags[hctx_idx], hctx_idx); blk_mq_free_rq_map(set->tags[hctx_idx]); set->tags[hctx_idx] = NULL;
I recently found some code which called blk_mq_free_map_and_requests() with a NULL set->tags pointer. I fixed the caller, but it seems like a good idea to add a NULL check here as well. Now we can call: blk_mq_free_tag_set(set); blk_mq_free_tag_set(set); twice in a row and it's harmless. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- block/blk-mq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)