Re: [PATCH][next] habanalabs: fix incorrect check on failed workqueue create

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 30, 2020 at 11:20 AM Colin King <colin.king@xxxxxxxxxxxxx> wrote:
>
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> The null check on a failed workqueue create is currently null checking
> hdev->cq_wq rather than the pointer hdev->cq_wq[i] and so the test
> will never be true on a failed workqueue create. Fix this by checking
> hdev->cq_wq[i].
>
> Addresses-Coverity: ("Dereference before null check")
> Fixes: 5574cb2194b1 ("habanalabs: Assign each CQ with its own work queue")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> ---
>  drivers/misc/habanalabs/common/device.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/misc/habanalabs/common/device.c b/drivers/misc/habanalabs/common/device.c
> index be16b75bdfdb..35214a186913 100644
> --- a/drivers/misc/habanalabs/common/device.c
> +++ b/drivers/misc/habanalabs/common/device.c
> @@ -288,7 +288,7 @@ static int device_early_init(struct hl_device *hdev)
>         for (i = 0 ; i < hdev->asic_prop.completion_queues_count ; i++) {
>                 snprintf(workq_name, 32, "hl-free-jobs-%u", i);
>                 hdev->cq_wq[i] = create_singlethread_workqueue(workq_name);
> -               if (hdev->cq_wq == NULL) {
> +               if (hdev->cq_wq[i] == NULL) {
>                         dev_err(hdev->dev, "Failed to allocate CQ workqueue\n");
>                         rc = -ENOMEM;
>                         goto free_cq_wq;
> --
> 2.27.0
>

This patch is:
Reviewed-by: Oded Gabbay <oded.gabbay@xxxxxxxxx>

Greg, can you please apply it directly to the char-misc-next branch ?
I don't want to send a pull request for 1 patch.

Thanks,
Oded



[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux