Re: [PATCH] iio: adc: ad7173: Remove const from chan_arr allocation type

From: Andy Shevchenko

Date: Fri Sep 18 2026 - 02:53:06 EST


On Thu, Sep 17, 2026 at 02:14:37PM -0700, Kees Cook wrote:

> In preparation for making the devm_kmalloc family of allocators type
> aware, we need to make sure that the returned type from the allocation
> matches the type of the variable being assigned. (Before, the allocator
> would always return "void *", which can be implicitly cast to any
> pointer type.)
>
> The assigned type is "struct iio_chan_spec *", but the converted
> allocation type would be "const struct iio_chan_spec *", as the size was
> taken from "*indio_dev->channels", and "indio_dev->channels" points to
> const. As there is no general way to remove const qualifiers, take the
> size from the assignment target instead. No change in allocation size
> results.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxx>

...

> - chan_arr = devm_kcalloc(dev, sizeof(*indio_dev->channels),
> + chan_arr = devm_kcalloc(dev, sizeof(*chan_arr),
> st->num_channels, GFP_KERNEL);

I would even dare to put it on a single line now (yes, 86 characters long).
(No need to resend, Jonathan I hope can tweak if he agrees with this.)

--
With Best Regards,
Andy Shevchenko