aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorLiang He <windhl@126.com>2022-06-17 20:19:58 +0800
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>2022-06-21 17:04:30 +0200
commit72a2af539fff975caadd9a4db3f99963569bd9c9 (patch)
tree4aa2a8ebe58cd3a8fe28853f7b3ade604360bbcd /arch/mips
parentmips: ralink: Fix refcount leak in of.c (diff)
downloadlinux-dev-72a2af539fff975caadd9a4db3f99963569bd9c9.tar.xz
linux-dev-72a2af539fff975caadd9a4db3f99963569bd9c9.zip
mips: lantiq: falcon: Fix refcount leak bug in sysctrl
In ltq_soc_init(), of_find_compatible_node() will return a node pointer with refcount incremented. We should use of_node_put() when it is not used anymore. Signed-off-by: Liang He <windhl@126.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/lantiq/falcon/sysctrl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/mips/lantiq/falcon/sysctrl.c b/arch/mips/lantiq/falcon/sysctrl.c
index 5204fc6d6d50..1187729d8cbb 100644
--- a/arch/mips/lantiq/falcon/sysctrl.c
+++ b/arch/mips/lantiq/falcon/sysctrl.c
@@ -208,6 +208,12 @@ void __init ltq_soc_init(void)
of_address_to_resource(np_sysgpe, 0, &res_sys[2]))
panic("Failed to get core resources");
+ of_node_put(np_status);
+ of_node_put(np_ebu);
+ of_node_put(np_sys1);
+ of_node_put(np_syseth);
+ of_node_put(np_sysgpe);
+
if ((request_mem_region(res_status.start, resource_size(&res_status),
res_status.name) < 0) ||
(request_mem_region(res_ebu.start, resource_size(&res_ebu),