Message ID | 20240330005300.1503252-1-dlemoal@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | nullblk: Fix cleanup order in null_add_dev() error path | expand |
On Sat, Mar 30, 2024 at 09:53:00AM +0900, Damien Le Moal wrote: > 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(). Looks good: Reviewed-by: Christoph Hellwig <hch@lst.de>
On Sat, 30 Mar 2024 09:53:00 +0900, Damien Le Moal wrote: > 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(). > > > [...] Applied, thanks! [1/1] nullblk: Fix cleanup order in null_add_dev() error path commit: a057e4036487351ad25002a88c75f7d195e36d79 Best regards,
diff --git a/drivers/block/null_blk/main.c b/drivers/block/null_blk/main.c index 71c39bcd872c..ed33cf7192d2 100644 --- a/drivers/block/null_blk/main.c +++ b/drivers/block/null_blk/main.c @@ -1965,10 +1965,10 @@ static int null_add_dev(struct nullb_device *dev) out_ida_free: ida_free(&nullb_indexes, nullb->index); -out_cleanup_zone: - null_free_zoned_dev(dev); out_cleanup_disk: put_disk(nullb->disk); +out_cleanup_zone: + null_free_zoned_dev(dev); out_cleanup_tags: if (nullb->tag_set == &nullb->__tag_set) blk_mq_free_tag_set(nullb->tag_set);
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: e440626b1caf ("null_blk: pass queue_limits to blk_mq_alloc_disk") Signed-off-by: Damien Le Moal <dlemoal@kernel.org> --- drivers/block/null_blk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)