On Mon, Sep 21, 2026 at 12:21:28AM +0100, Jonathan Cameron wrote:
> On Fri, 18 Sep 2026 09:51:48 +0300
> Andy Shevchenko <[email protected]> wrote:
> 
> > 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 <[email protected]>
> > 
> > ...
> > 
> > > - 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.)
> Done, though I would assume Kees is going to send a mega series
> that rewrites this line anyway and might well make it even shorter.

I will indeed. :) But Coccinelle will be happy with whatever shape it
has. (It'll swap "devm_kcalloc" for "devm_kmalloc" and then gain "_objs"
and lose ", GFP_KERNEL".)

> Applied to the testing branch of iio.git (queued for next merge window
> subject to tests etc)

Thanks!

-- 
Kees Cook

Reply via email to