diff mbox series

[next] ASoC: rsnd: check for zero node count

Message ID 20210602103722.12128-1-colin.king@canonical.com (mailing list archive)
State Superseded
Headers show
Series [next] ASoC: rsnd: check for zero node count | expand

Commit Message

Colin King June 2, 2021, 10:37 a.m. UTC
From: Colin Ian King <colin.king@canonical.com>

The call to rsnd_node_count can potentially return a zero node count
so add a check for this corner case. (Note that the two other calls
to rsnd_node_count in the kernel perform this check, so I think it
justifies adding this). This avoids using a zero nr in a devm_kcalloc
call.

Addresses-Coverity: ("Unchecked return value")
Fixes: c413983eb66a ("ASoC: rsnd: adjust disabled module")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 sound/soc/sh/rcar/ssiu.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Dan Carpenter June 2, 2021, 11:21 a.m. UTC | #1
On Wed, Jun 02, 2021 at 11:37:22AM +0100, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> The call to rsnd_node_count can potentially return a zero node count
> so add a check for this corner case. (Note that the two other calls
> to rsnd_node_count in the kernel perform this check, so I think it
> justifies adding this). This avoids using a zero nr in a devm_kcalloc
> call.

I don't have a problem with the patch, but really the code works fine
as is.  A better commit message is:

  Most callers of_get_child_count() check that "nr" is non-zero so it
  causes a static checker warning when we don't do that here.  This
  doesn't cause a problem or a crash, but having zero SSUIes (What's
  plural of ssui?) doesn't make sense either so let's add a check.

regards,
dan carpenter
Kuninori Morimoto June 2, 2021, 10:19 p.m. UTC | #2
Hi

> > From: Colin Ian King <colin.king@canonical.com>
> > 
> > The call to rsnd_node_count can potentially return a zero node count
> > so add a check for this corner case. (Note that the two other calls
> > to rsnd_node_count in the kernel perform this check, so I think it
> > justifies adding this). This avoids using a zero nr in a devm_kcalloc
> > call.
> 
> I don't have a problem with the patch, but really the code works fine
> as is.  A better commit message is:
> 
>   Most callers of_get_child_count() check that "nr" is non-zero so it
>   causes a static checker warning when we don't do that here.  This
>   doesn't cause a problem or a crash, but having zero SSUIes (What's
>   plural of ssui?) doesn't make sense either so let's add a check.

For the code

	Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>


Thank you for your help !!

Best regards
---
Kuninori Morimoto
Colin King June 3, 2021, 10:44 a.m. UTC | #3
On 02/06/2021 12:21, Dan Carpenter wrote:
> On Wed, Jun 02, 2021 at 11:37:22AM +0100, Colin King wrote:
>> From: Colin Ian King <colin.king@canonical.com>
>>
>> The call to rsnd_node_count can potentially return a zero node count
>> so add a check for this corner case. (Note that the two other calls
>> to rsnd_node_count in the kernel perform this check, so I think it
>> justifies adding this). This avoids using a zero nr in a devm_kcalloc
>> call.
> 
> I don't have a problem with the patch, but really the code works fine
> as is.  A better commit message is:
> 
>   Most callers of_get_child_count() check that "nr" is non-zero so it
>   causes a static checker warning when we don't do that here.  This
>   doesn't cause a problem or a crash, but having zero SSUIes (What's
>   plural of ssui?) doesn't make sense either so let's add a check.

Good idea. I'll send a V2. Thanks Dan.

> 
> regards,
> dan carpenter
>
diff mbox series

Patch

diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c
index 5682c74bb7ff..0d8f97633dd2 100644
--- a/sound/soc/sh/rcar/ssiu.c
+++ b/sound/soc/sh/rcar/ssiu.c
@@ -515,6 +515,9 @@  int rsnd_ssiu_probe(struct rsnd_priv *priv)
 	else
 		nr = priv->ssi_nr;
 
+	if (!nr)
+		return -EINVAL;
+
 	ssiu	= devm_kcalloc(dev, nr, sizeof(*ssiu), GFP_KERNEL);
 	if (!ssiu)
 		return -ENOMEM;