2021-04-12 16:14:22

by Colin King

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

From: Colin Ian King <[email protected]>

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 <[email protected]>
---
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,
--
2.30.2


2021-04-13 06:40:15

by Arnd Bergmann

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

On Mon, Apr 12, 2021 at 6:11 PM Colin King <[email protected]> wrote:
>
> From: Colin Ian King <[email protected]>
>
> 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 <[email protected]>
> ---
> 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 <[email protected]>

2021-04-15 07:09:45

by Oded Gabbay

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

On Mon, Apr 12, 2021 at 9:41 PM Arnd Bergmann <[email protected]> wrote:
>
> On Mon, Apr 12, 2021 at 6:11 PM Colin King <[email protected]> wrote:
> >
> > From: Colin Ian King <[email protected]>
> >
> > 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 <[email protected]>
> > ---
> > 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 <[email protected]>

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 <[email protected]>

Thanks,
Oded

2021-04-15 07:20:32

by Greg Kroah-Hartman

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

On Thu, Apr 15, 2021 at 10:08:26AM +0300, Oded Gabbay wrote:
> On Mon, Apr 12, 2021 at 9:41 PM Arnd Bergmann <[email protected]> wrote:
> >
> > On Mon, Apr 12, 2021 at 6:11 PM Colin King <[email protected]> wrote:
> > >
> > > From: Colin Ian King <[email protected]>
> > >
> > > 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 <[email protected]>
> > > ---
> > > 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 <[email protected]>
>
> 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 <[email protected]>

I can grab it from this thread, thanks!

greg k-h