Re: [PATCH] bus: mhi: core: Fix error handling in mhi_register_controller()

From: Loic Poulain
Date: Tue Dec 01 2020 - 02:52:45 EST


On Tue, 1 Dec 2020 at 08:05, Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
>
> There are a few problems with the error handling in this function. They
> mostly center around the alloc_ordered_workqueue() allocation.
> 1) If that allocation fails or if the kcalloc() prior to it fails then
> it leads to a NULL dereference when we call
> destroy_workqueue(mhi_cntrl->hiprio_wq).
> 2) The error code is not set.
> 3) The "mhi_cntrl->mhi_cmd" allocation is not freed.
>
> The error handling was slightly confusing and I re-ordered it to be in
> the exact mirror/reverse order of how things were allocated. I changed
> the label names to say what the goto does instead of describing where
> the goto comes from.
>
> Fixes: 8f7039787687 ("bus: mhi: core: Move to using high priority workqueue")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

Reviewed-by: Loic Poulain <loic.poulain@xxxxxxxxxx>