[PATCH v7 08/16] pinctrl: keembay: release allocated memory in detach path
Bartosz Golaszewski
brgl at bgdev.pl
Tue Sep 2 06:30:38 PDT 2025
On Tue, Sep 2, 2025 at 3:10 PM Andy Shevchenko
<andriy.shevchenko at intel.com> wrote:
>
> On Tue, Sep 02, 2025 at 01:59:17PM +0200, Bartosz Golaszewski wrote:
> >
> > Unlike all the other allocations in this driver, the memory for storing
> > the pin function descriptions allocated with kcalloc() and later resized
> > with krealloc() is never freed. Use devres like elsewhere to handle
> > that. While at it - replace krealloc() with more suitable
> > devm_krealloc_array().
>
> With that in mind...
>
> > Note: the logic in this module is pretty convoluted and could probably
> > use some revisiting, we should probably be able to calculate the exact
> > amount of memory needed in advance or even skip the allocation
> > altogether and just add each function to the radix tree separately.
>
> ...
>
> > Tested-by: Neil Armstrong <neil.armstrong at linaro.org>
>
Ah, I just ran b4 trailers -u and didn't check the result. :(
> This tag is not applicable to all patches, I do not believe this has been
> tested.
>
> ...
>
> > - keembay_funcs = kcalloc(kpc->npins * 8, sizeof(*keembay_funcs), GFP_KERNEL);
> > + keembay_funcs = devm_kcalloc(kpc->dev, kpc->npins * 8,
>
> ...switching to size_mul() also adds more robustness against too big npins
> values.
>
Eh... ok, if there'll be a v8.
Bart
> > + sizeof(*keembay_funcs), GFP_KERNEL);
>
> --
> With Best Regards,
> Andy Shevchenko
>
>
More information about the linux-arm-kernel
mailing list