All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] habanalabs: added return value check for hl_fw_dynamic_send_clear_cmd()
@ 2022-11-16 13:41 Marco Pagani
  2022-11-16 15:17 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 3+ messages in thread
From: Marco Pagani @ 2022-11-16 13:41 UTC (permalink / raw)
  To: Oded Gabbay, Arnd Bergmann, Greg Kroah-Hartman,
	Nathan Chancellor, Nick Desaulniers, Tom Rix
  Cc: Marco Pagani, linux-kernel, llvm

The clang-analyzer reported a warning: "Value stored to 'rc' is never
read".

The return value check for the first hl_fw_dynamic_send_clear_cmd() call
in hl_fw_dynamic_send_protocol_cmd() appears to be missing.

Signed-off-by: Marco Pagani <marpagan@redhat.com>
---
 drivers/misc/habanalabs/common/firmware_if.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/misc/habanalabs/common/firmware_if.c b/drivers/misc/habanalabs/common/firmware_if.c
index 2de6a9bd564d..311942108dbc 100644
--- a/drivers/misc/habanalabs/common/firmware_if.c
+++ b/drivers/misc/habanalabs/common/firmware_if.c
@@ -1782,6 +1782,8 @@ int hl_fw_dynamic_send_protocol_cmd(struct hl_device *hdev,
 
 	/* first send clear command to clean former commands */
 	rc = hl_fw_dynamic_send_clear_cmd(hdev, fw_loader);
+	if (rc)
+		return rc;
 
 	/* send the actual command */
 	hl_fw_dynamic_send_cmd(hdev, fw_loader, cmd, size);
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] habanalabs: added return value check for hl_fw_dynamic_send_clear_cmd()
  2022-11-16 13:41 [PATCH] habanalabs: added return value check for hl_fw_dynamic_send_clear_cmd() Marco Pagani
@ 2022-11-16 15:17 ` Greg Kroah-Hartman
  2022-11-17  8:45   ` Oded Gabbay
  0 siblings, 1 reply; 3+ messages in thread
From: Greg Kroah-Hartman @ 2022-11-16 15:17 UTC (permalink / raw)
  To: Marco Pagani
  Cc: Oded Gabbay, Arnd Bergmann, Nathan Chancellor, Nick Desaulniers,
	Tom Rix, linux-kernel, llvm

On Wed, Nov 16, 2022 at 02:41:25PM +0100, Marco Pagani wrote:
> The clang-analyzer reported a warning: "Value stored to 'rc' is never
> read".
> 
> The return value check for the first hl_fw_dynamic_send_clear_cmd() call
> in hl_fw_dynamic_send_protocol_cmd() appears to be missing.
> 
> Signed-off-by: Marco Pagani <marpagan@redhat.com>
> ---
>  drivers/misc/habanalabs/common/firmware_if.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/misc/habanalabs/common/firmware_if.c b/drivers/misc/habanalabs/common/firmware_if.c
> index 2de6a9bd564d..311942108dbc 100644
> --- a/drivers/misc/habanalabs/common/firmware_if.c
> +++ b/drivers/misc/habanalabs/common/firmware_if.c
> @@ -1782,6 +1782,8 @@ int hl_fw_dynamic_send_protocol_cmd(struct hl_device *hdev,
>  
>  	/* first send clear command to clean former commands */
>  	rc = hl_fw_dynamic_send_clear_cmd(hdev, fw_loader);
> +	if (rc)
> +		return rc;
>  
>  	/* send the actual command */
>  	hl_fw_dynamic_send_cmd(hdev, fw_loader, cmd, size);

Are you sure this is ok?  If the first "clean the buffer" command fails,
all should still be good as that wasn't the real command.

But maybe the hardware will never fail this?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] habanalabs: added return value check for hl_fw_dynamic_send_clear_cmd()
  2022-11-16 15:17 ` Greg Kroah-Hartman
@ 2022-11-17  8:45   ` Oded Gabbay
  0 siblings, 0 replies; 3+ messages in thread
From: Oded Gabbay @ 2022-11-17  8:45 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Marco Pagani, Arnd Bergmann, Nathan Chancellor, Nick Desaulniers,
	Tom Rix, linux-kernel, llvm

On Wed, Nov 16, 2022 at 5:17 PM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> On Wed, Nov 16, 2022 at 02:41:25PM +0100, Marco Pagani wrote:
> > The clang-analyzer reported a warning: "Value stored to 'rc' is never
> > read".
> >
> > The return value check for the first hl_fw_dynamic_send_clear_cmd() call
> > in hl_fw_dynamic_send_protocol_cmd() appears to be missing.
> >
> > Signed-off-by: Marco Pagani <marpagan@redhat.com>
> > ---
> >  drivers/misc/habanalabs/common/firmware_if.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/misc/habanalabs/common/firmware_if.c b/drivers/misc/habanalabs/common/firmware_if.c
> > index 2de6a9bd564d..311942108dbc 100644
> > --- a/drivers/misc/habanalabs/common/firmware_if.c
> > +++ b/drivers/misc/habanalabs/common/firmware_if.c
> > @@ -1782,6 +1782,8 @@ int hl_fw_dynamic_send_protocol_cmd(struct hl_device *hdev,
> >
> >       /* first send clear command to clean former commands */
> >       rc = hl_fw_dynamic_send_clear_cmd(hdev, fw_loader);
> > +     if (rc)
> > +             return rc;
> >
> >       /* send the actual command */
> >       hl_fw_dynamic_send_cmd(hdev, fw_loader, cmd, size);
>
> Are you sure this is ok?  If the first "clean the buffer" command fails,
> all should still be good as that wasn't the real command.
>
> But maybe the hardware will never fail this?
>
> thanks,
>
> greg k-h

Actually it's a real mistake, it was overlooked when the code was
written (although chances of failure in clear cmd are very small).
I'll apply it to my tree.
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Thanks,
Oded

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-11-17  8:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-16 13:41 [PATCH] habanalabs: added return value check for hl_fw_dynamic_send_clear_cmd() Marco Pagani
2022-11-16 15:17 ` Greg Kroah-Hartman
2022-11-17  8:45   ` Oded Gabbay

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.