Re: [PATCH v3 14/20] iio: adc: xilinx-xadc-core: use devm_kmemdup_array()

From: Andy Shevchenko
Date: Mon Feb 03 2025 - 06:26:06 EST


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