[PATCH 0/3] of: irq: Fixes refcount issues with of_irq_parse_one()/of_irq_parse_raw()

From: Jean-Jacques Hiblot
Date: Wed Mar 01 2023 - 18:04:33 EST


This series attempts to fix refcounting issues related to of_irq_parse_one()
and of_irq_parse_raw().

The first issue is simply that most callers of of_irq_parse_one() and
of_irq_parse_raw() don't call of_node_put() on the returned device node when
they no longer need it.

The second issue is a double get() happening in of_irq_parse_one() when
parsing the "interrupts-extended" properties.

WARNING: I tried to be careful when modifying the callers of
of_irq_parse_one()/of_irq_parse_raw() but haven't test-build all the changes.


Jean-Jacques Hiblot (3):
of: irq: make callers of of_irq_parse_raw() release the device node
of: irq: make callers of of_irq_parse_one() release the device node
of: irq: release the node after looking up for "interrupts-extended"

.../mach-shmobile/regulator-quirk-rcar-gen2.c | 1 +
arch/powerpc/platforms/fsl_uli1575.c | 1 +
arch/powerpc/sysdev/mpic_msi.c | 1 +
drivers/bcma/main.c | 5 +++-
drivers/clocksource/timer-clint.c | 1 +
drivers/irqchip/irq-mchp-eic.c | 1 +
drivers/irqchip/irq-owl-sirq.c | 1 +
drivers/irqchip/irq-renesas-rzg2l.c | 1 +
drivers/irqchip/irq-sifive-plic.c | 1 +
drivers/irqchip/irq-sun6i-r.c | 2 ++
drivers/of/irq.c | 30 ++++++++++++++-----
drivers/of/unittest.c | 7 +++++
drivers/pci/of.c | 6 +++-
drivers/soc/ti/knav_qmss_queue.c | 3 ++
drivers/usb/host/xhci-tegra.c | 1 +
15 files changed, 53 insertions(+), 9 deletions(-)

--
2.25.1