Re: [PATCH] svc: add missed destroy_workqueue when gb_svc_create fails

From: Johan Hovold
Date: Sat Jul 25 2020 - 03:30:00 EST


On Sat, Jul 25, 2020 at 11:06:37AM +0800, Li Heng wrote:
> destroy_workqueue() should be called to destroy svc->wq
> when gb_svc_create() init resources fails.
>
> Fixes: 8465def499c7 ("staging: greybus: move the greybus core to drivers/greybus")
> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> Signed-off-by: Li Heng <liheng40@xxxxxxxxxx>
> ---
> drivers/greybus/svc.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/greybus/svc.c b/drivers/greybus/svc.c
> index ce7740e..38f858f 100644
> --- a/drivers/greybus/svc.c
> +++ b/drivers/greybus/svc.c
> @@ -1340,6 +1340,7 @@ struct gb_svc *gb_svc_create(struct gb_host_device *hd)
>
> err_put_device:
> put_device(&svc->dev);
> + destroy_workqueue(svc->wq);

Your bot is broken; the workqueue is released in gb_svc_release().

And please fix your internal review process so that you catch things
like this before posting.

> return NULL;
> }

Johan