Re: [PATCH][next] loop: Fix missing max_active argument in alloc_workqueue call

From: Muhammad Usama Anjum
Date: Thu Mar 18 2021 - 15:19:46 EST


On Thu, 2021-03-18 at 15:16 +0000, Colin King wrote:
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> The 3rd argument to alloc_workqueue should be the max_active count,
> however currently it is the lo->lo_number that is intended for the
> loop%d number. Fix this by adding in the missing max_active count.
>
> Addresses-Coverity: ("Missing argument to printf")
> Fixes: 08ad7f822739 ("loop: Use worker per cgroup instead of kworker")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> ---
> drivers/block/loop.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/block/loop.c b/drivers/block/loop.c
> index f2f9e4127847..ee2a6c1bc093 100644
> --- a/drivers/block/loop.c
> +++ b/drivers/block/loop.c
> @@ -1192,7 +1192,7 @@ static int loop_configure(struct loop_device *lo, fmode_t mode,
> lo->workqueue = alloc_workqueue("loop%d",
> WQ_UNBOUND | WQ_FREEZABLE |
> WQ_MEM_RECLAIM,
> - lo->lo_number);
> + 1, lo->lo_number);
> if (!lo->workqueue) {
> error = -ENOMEM;
> goto out_unlock;

Nice catch.

Reviewed-by: Muhammad Usama Anjum <musamaanjum@xxxxxxxxx>