From f93227c614549873526cc085ce68ab900691ba8d Mon Sep 17 00:00:00 2001 From: Zijun Hu Date: Fri, 14 Mar 2025 12:03:09 +0900 Subject: [PATCH] of: Fix refcount leakage for OF node returned by __of_get_dma_parent() BugLink: https://bugs.launchpad.net/bugs/2102266 commit 5d009e024056ded20c5bb1583146b833b23bbd5a upstream. __of_get_dma_parent() returns OF device node @args.np, but the node's refcount is increased twice, by both of_parse_phandle_with_args() and of_node_get(), so causes refcount leakage for the node. Fix by directly returning the node got by of_parse_phandle_with_args(). Fixes: f83a6e5dea6c ("of: address: Add support for the parent DMA bus") Cc: stable@vger.kernel.org Signed-off-by: Zijun Hu Link: https://lore.kernel.org/r/20241206-of_core_fix-v1-4-dc28ed56bec3@quicinc.com Signed-off-by: Rob Herring (Arm) Signed-off-by: Greg Kroah-Hartman Signed-off-by: Koichiro Den Signed-off-by: Mehmet Basaran --- drivers/of/address.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/of/address.c b/drivers/of/address.c index 41288571e2bf..397750f9f28a 100644 --- a/drivers/of/address.c +++ b/drivers/of/address.c @@ -612,7 +612,7 @@ struct device_node *__of_get_dma_parent(const struct device_node *np) if (ret < 0) return of_get_parent(np); - return of_node_get(args.np); + return args.np; } #endif