Hi Bartosz, On Thu, 19 Sep 2024 15:51:04 +0200 Bartosz Golaszewski <brgl@xxxxxxxx> wrote: > From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > > If we remove a GPIO chip that is also an interrupt controller with users > not having freed some interrupts, we'll end up leaking resources as > indicated by the following warning: > > remove_proc_entry: removing non-empty directory 'irq/30', leaking at least 'gpio' > > As there's no way of notifying interrupt users about the irqchip going > away and the interrupt subsystem is not plugged into the driver model and > so not all cases can be handled by devlinks, we need to make sure to free > all interrupts before the complete the removal of the provider. > > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > --- > v1 -> v2: > - we should actually take the request_mutex to protect the irqaction from being > freed while we dereference it and keep the actual dereferencing under the lock > - add some comments to explain what we're doing > > drivers/gpio/gpiolib.c | 41 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 41 insertions(+) Thanks for the patch. Tested on my system and it fixes the issue. Reviewed-by: Herve Codina <herve.codina@xxxxxxxxxxx> Tested-by: Herve Codina <herve.codina@xxxxxxxxxxx> My old series [1] related to the topic is no more needed and can be thrown away. Best regards, Hervé [1] https://lore.kernel.org/all/20240227113426.253232-1-herve.codina@xxxxxxxxxxx/