2022-06-01 20:16:54

by Miaoqian Lin

[permalink] [raw]
Subject: [PATCH 3/6] irqchip/apple-aic: Fix refcount leak in aic_of_ic_init

of_get_child_by_name() returns a node pointer with refcount
incremented, we should use of_node_put() on it when not need anymore.
Add missing of_node_put() to avoid refcount leak.

Fixes: a5e8801202b3 ("irqchip/apple-aic: Parse FIQ affinities from device-tree")
Signed-off-by: Miaoqian Lin <[email protected]>
---
drivers/irqchip/irq-apple-aic.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/irqchip/irq-apple-aic.c b/drivers/irqchip/irq-apple-aic.c
index 478d0af16d9f..5ac83185ff47 100644
--- a/drivers/irqchip/irq-apple-aic.c
+++ b/drivers/irqchip/irq-apple-aic.c
@@ -1144,6 +1144,7 @@ static int __init aic_of_ic_init(struct device_node *node, struct device_node *p
for_each_child_of_node(affs, chld)
build_fiq_affinity(irqc, chld);
}
+ of_node_put(affs);

set_handle_irq(aic_handle_irq);
set_handle_fiq(aic_handle_fiq);
--
2.25.1



2022-06-09 17:32:23

by tip-bot2 for Jacob Pan

[permalink] [raw]
Subject: [irqchip: irq/irqchip-fixes] irqchip/apple-aic: Fix refcount leak in aic_of_ic_init

The following commit has been merged into the irq/irqchip-fixes branch of irqchip:

Commit-ID: 3d45670fab3c25a7452721e4588cc95c51cda134
Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/3d45670fab3c25a7452721e4588cc95c51cda134
Author: Miaoqian Lin <[email protected]>
AuthorDate: Wed, 01 Jun 2022 12:09:27 +04:00
Committer: Marc Zyngier <[email protected]>
CommitterDate: Thu, 09 Jun 2022 17:36:57 +01:00

irqchip/apple-aic: Fix refcount leak in aic_of_ic_init

of_get_child_by_name() returns a node pointer with refcount
incremented, we should use of_node_put() on it when not need anymore.
Add missing of_node_put() to avoid refcount leak.

Fixes: a5e8801202b3 ("irqchip/apple-aic: Parse FIQ affinities from device-tree")
Signed-off-by: Miaoqian Lin <[email protected]>
Signed-off-by: Marc Zyngier <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
---
drivers/irqchip/irq-apple-aic.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/irqchip/irq-apple-aic.c b/drivers/irqchip/irq-apple-aic.c
index 478d0af..5ac8318 100644
--- a/drivers/irqchip/irq-apple-aic.c
+++ b/drivers/irqchip/irq-apple-aic.c
@@ -1144,6 +1144,7 @@ static int __init aic_of_ic_init(struct device_node *node, struct device_node *p
for_each_child_of_node(affs, chld)
build_fiq_affinity(irqc, chld);
}
+ of_node_put(affs);

set_handle_irq(aic_handle_irq);
set_handle_fiq(aic_handle_fiq);