Re: [PATCH 14/14] Fixed the retry_cnt bug about being zero

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jan 06, 2023 at 09:55:43AM +0000, Ki-Seok Jo wrote:
> >> @@ -772,12 +772,13 @@ static int sma1303_add_component_controls(struct snd_soc_component *component)
> >>  	sma1303_controls = devm_kzalloc(sma1303->dev,
> >>  			sizeof(sma1303_snd_controls), GFP_KERNEL);
> >>  	name = devm_kzalloc(sma1303->dev,
> >> -			ARRAY_SIZE(sma1303_snd_controls), GFP_KERNEL);
> >> +			ARRAY_SIZE(sma1303_snd_controls)*sizeof(char *),
> >> +			GFP_KERNEL);
> 
> >I am surprised checkpatch doesn't complain that spaces are required around the * operator.  Please just use sizeof(sma1303_snd_controls).
> Otherwise you have to use devm_kcalloc() to avoid checkers warning about integer overflows.
> 
> I lost space between * operator. Thanks. (why didn't checkpatch check it? :(  )
> 
> But I don't understand why I use 'sizeof(sma1303_snd_controls)'.
> I only need to know the number of 'sma1303_snd_controls'.
> In 'sma1303_snd_controls', it has only 3.
> 
> So ARRAY_SIZE(sma1303_snd_controls) is 3, but sizeof(sma1303_snd_controls) has the value of 144.
> I think it's not necessary. What's the best?
> 

Ah.  Sorry, I didn't have enough context.  But could you instead use
sizeof(*name) instead of (char *) (it's the standard kernel style and
not just my opinion):

	name = devm_kcalloc(sma1303->dev, ARRAY_SIZE(sma1303_snd_controls),
			    sizeof(*name), GFP_KERNEL);

Also please declare name as char instead of unsigned char.
Also there needs to be some error checking for if the allocation fails.

This driver is going to need quite a bit of cleanup.  :/

regards,
dan carpenter




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux