Re: [PATCH 1/3] blk-mq: fix tags leak when shrink nr_hw_queues

From: Ming Lei
Date: Tue Aug 22 2023 - 08:46:37 EST


On Mon, Aug 21, 2023 at 05:56:00PM +0800, chengming.zhou@xxxxxxxxx wrote:
> From: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx>
>
> Although we don't need to realloc set->tags[] when shrink nr_hw_queues,
> we need to free them. Or these tags will be leaked.
>
> How to reproduce:
> 1. mount -t configfs configfs /mnt
> 2. modprobe null_blk nr_devices=0 submit_queues=8
> 3. mkdir /mnt/nullb/nullb0
> 4. echo 1 > /mnt/nullb/nullb0/power
> 5. echo 4 > /mnt/nullb/nullb0/submit_queues
> 6. rmdir /mnt/nullb/nullb0
>
> In step 4, will alloc 9 tags (8 submit queues and 1 poll queue), then
> in step 5, new_nr_hw_queues = 5 (4 submit queues and 1 poll queue).
> At last in step 6, only these 5 tags are freed, the other 4 tags leaked.
>
> Signed-off-by: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx>

Reviewed-by: Ming Lei <ming.lei@xxxxxxxxxx>

--
Ming