On Mon, Feb 03, 2025 at 11:14:58AM +0000, Jonathan Cameron wrote: > On Mon, 3 Feb 2025 12:42:36 +0200 > Raag Jadav <raag.jadav@xxxxxxxxx> wrote: > > On Mon, Feb 03, 2025 at 11:54:42AM +0200, Andy Shevchenko wrote: > > > On Mon, Feb 03, 2025 at 01:38:56PM +0530, Raag Jadav wrote: > > > > Convert to use devm_kmemdup_array() which is more robust. ... > > > > - channels = devm_kmemdup(dev, channel_templates, > > > > - sizeof(channels[0]) * max_channels, GFP_KERNEL); > > > > + channels = devm_kmemdup_array(dev, channel_templates, max_channels, > > > > + sizeof(channels[0]), GFP_KERNEL); > > > > > > I would use more regular sizeof(*channels) > > > > This might get confusing since we're assigning it back to channels. > > > It looks like standard pattern. Assign X * the thing to the thing. > > So I'd prefer sizeof(*channels) here as well. Yeah, but the problem with kmemdup() family of APIs is that we need to pass the source size if we want to have 1:1 copy. So, sizeof(*channel_templates) is more accurate in my opinion. -- With Best Regards, Andy Shevchenko