Re: [PATCH] memory: brcmstb_dpfe: fix testing array offset after use

From: Markus Mayer
Date: Thu May 18 2023 - 19:06:29 EST


On Sat, 13 May 2023 at 04:29, Krzysztof Kozlowski
<krzysztof.kozlowski@xxxxxxxxxx> wrote:
>
> Code should first check for valid value of array offset, then use it as
> the index. Fixes smatch warning:
>
> drivers/memory/brcmstb_dpfe.c:443 __send_command() error: testing array offset 'cmd' after use.
>
> Fixes: 2f330caff577 ("memory: brcmstb: Add driver for DPFE")
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> ---
> drivers/memory/brcmstb_dpfe.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/memory/brcmstb_dpfe.c b/drivers/memory/brcmstb_dpfe.c
> index 76c82e9c8fce..9339f80b21c5 100644
> --- a/drivers/memory/brcmstb_dpfe.c
> +++ b/drivers/memory/brcmstb_dpfe.c
> @@ -434,15 +434,17 @@ static void __finalize_command(struct brcmstb_dpfe_priv *priv)
> static int __send_command(struct brcmstb_dpfe_priv *priv, unsigned int cmd,
> u32 result[])
> {
> - const u32 *msg = priv->dpfe_api->command[cmd];
> void __iomem *regs = priv->regs;
> unsigned int i, chksum, chksum_idx;
> + const u32 *msg;
> int ret = 0;
> u32 resp;
>
> if (cmd >= DPFE_CMD_MAX)
> return -1;
>
> + msg = priv->dpfe_api->command[cmd];
> +
> mutex_lock(&priv->lock);
>
> /* Wait for DCPU to become ready */
> --
> 2.34.1
>

Acked-by: Markus Mayer <mmayer@xxxxxxxxxxxx>