Re: [PATCH] gpiolib: fix reference leaks when removing GPIO chips still in use

From: Andy Shevchenko
Date: Thu Aug 10 2023 - 11:19:25 EST


On Thu, Aug 10, 2023 at 06:17:26PM +0300, Andy Shevchenko wrote:
> On Thu, Aug 10, 2023 at 12:03:34PM +0200, Bartosz Golaszewski wrote:
> > From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>

...

> > void gpiod_free(struct gpio_desc *desc)
> > {
> > - if (desc && desc->gdev && gpiod_free_commit(desc)) {
> > - module_put(desc->gdev->owner);
> > - gpio_device_put(desc->gdev);
> > - } else {
> > + if (!desc)
> > + return;

> VALIDATE_DESC_VOID() ?

If it is not possible to use, the comment should be added, like we have in
gpiod_to_irq().

> > + if (!gpiod_free_commit(desc))
> > WARN_ON(extra_checks);
> > - }
> > +
> > + gpio_device_put(desc->gdev);
> > + module_put(desc->gdev->owner);
> > }

--
With Best Regards,
Andy Shevchenko