Re: [PATCH][next] habanalabs/gaudi: Fix uninitialized return code rc when read size is zero

From: Oded Gabbay
Date: Thu Apr 15 2021 - 03:09:00 EST


On Mon, Apr 12, 2021 at 9:41 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> On Mon, Apr 12, 2021 at 6:11 PM Colin King <colin.king@xxxxxxxxxxxxx> wrote:
> >
> > From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> >
> > In the case where size is zero the while loop never assigns rc and the
> > return value is uninitialized. Fix this by initializing rc to zero.
> >
> > Addresses-Coverity: ("Uninitialized scalar variable")
> > Fixes: 639781dcab82 ("habanalabs/gaudi: add debugfs to DMA from the device")
> > Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> > ---
> > drivers/misc/habanalabs/gaudi/gaudi.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/misc/habanalabs/gaudi/gaudi.c b/drivers/misc/habanalabs/gaudi/gaudi.c
> > index 8730b691ec61..b751652f80a8 100644
> > --- a/drivers/misc/habanalabs/gaudi/gaudi.c
> > +++ b/drivers/misc/habanalabs/gaudi/gaudi.c
> > @@ -6252,7 +6252,7 @@ static int gaudi_debugfs_read_dma(struct hl_device *hdev, u64 addr, u32 size,
> > dma_addr_t dma_addr;
> > void *kernel_addr;
> > bool is_eng_idle;
> > - int rc, dma_id;
> > + int rc = 0, dma_id;
> >
> > kernel_addr = hdev->asic_funcs->asic_dma_alloc_coherent(
> > hdev, SZ_2M,
>
>
> In general, I don't like adding initializations during the declaration as that
> tends to hide warnings for the cases where a later initialization is
> missing. In this case it looks correct though.
>
> Acked-by: Arnd Bergmann <arnd@xxxxxxxx>

I don't mind taking this patch for eliminating the warning but fyi,
the caller function (hl_dma_size_write) checks that the size is not
zero. If the size is zero, we never reach this function.

Greg, do you mind applying it directly to your -next branch ? I don't
have anything pending and I'm too lazy sending a pull request on a
single patch ;)

Reviewed-by: Oded Gabbay <ogabbay@xxxxxxxxxx>

Thanks,
Oded