Skip to content

Commit fbbd5d3

Browse files
damien-lemoalaxboe
authored andcommitted
nullblk: Fix cleanup order in null_add_dev() error path
In null_add_dev(), if an error happen after initializing the resources for a zoned null block device, we must free these resources before exiting the function. To ensure this, move the out_cleanup_zone label after out_cleanup_disk as we jump to this latter label if an error happens after calling null_init_zoned_dev(). Fixes: e440626 ("null_blk: pass queue_limits to blk_mq_alloc_disk") Signed-off-by: Damien Le Moal <dlemoal@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20240330005300.1503252-1-dlemoal@kernel.org Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent 39cd87c commit fbbd5d3

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/block/null_blk/main.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1965,10 +1965,10 @@ static int null_add_dev(struct nullb_device *dev)
19651965

19661966
out_ida_free:
19671967
ida_free(&nullb_indexes, nullb->index);
1968-
out_cleanup_zone:
1969-
null_free_zoned_dev(dev);
19701968
out_cleanup_disk:
19711969
put_disk(nullb->disk);
1970+
out_cleanup_zone:
1971+
null_free_zoned_dev(dev);
19721972
out_cleanup_tags:
19731973
if (nullb->tag_set == &nullb->__tag_set)
19741974
blk_mq_free_tag_set(nullb->tag_set);

0 commit comments

Comments
 (0)