summaryrefslogtreecommitdiff
path: root/arch/powerpc/platforms/powernv/opal-sensor-groups.c
diff options
context:
space:
mode:
authorLiang He <windhl@126.com>2022-06-20 16:25:53 +0300
committerMichael Ellerman <mpe@ellerman.id.au>2022-09-05 10:30:29 +0300
commit605c27f3802038e4623b6fd1bbfa021e1f65b5c4 (patch)
treea04c43ef53d0de12f9b45572dd162b7344c8ca82 /arch/powerpc/platforms/powernv/opal-sensor-groups.c
parentafa6a472a3d2a8dd477b285eeb67b3593546647b (diff)
downloadlinux-605c27f3802038e4623b6fd1bbfa021e1f65b5c4.tar.xz
powerpc/powernv: Add missing of_node_put()s
In these driver init functions, there are two kinds of errors: (1) missing of_put_node() for of_find_compatible_node()'s returned pointer (refcount incremented) in fail path or when it is not used anymore. (2) missing of_put_node() for 'for_each_xxx' loop's break Signed-off-by: Liang He <windhl@126.com> [mpe: Use out_put_xxx goto label naming] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20220620132553.4073863-1-windhl@126.com
Diffstat (limited to 'arch/powerpc/platforms/powernv/opal-sensor-groups.c')
-rw-r--r--arch/powerpc/platforms/powernv/opal-sensor-groups.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/powernv/opal-sensor-groups.c b/arch/powerpc/platforms/powernv/opal-sensor-groups.c
index 8fba7d25ae56..9944376b115c 100644
--- a/arch/powerpc/platforms/powernv/opal-sensor-groups.c
+++ b/arch/powerpc/platforms/powernv/opal-sensor-groups.c
@@ -170,7 +170,7 @@ void __init opal_sensor_groups_init(void)
sgs = kcalloc(of_get_child_count(sg), sizeof(*sgs), GFP_KERNEL);
if (!sgs)
- return;
+ goto out_sg_put;
sg_kobj = kobject_create_and_add("sensor_groups", opal_kobj);
if (!sg_kobj) {
@@ -222,6 +222,7 @@ void __init opal_sensor_groups_init(void)
}
i++;
}
+ of_node_put(sg);
return;
@@ -231,6 +232,9 @@ out_sgs_sgattrs:
kfree(sgs[i].sg.attrs);
}
kobject_put(sg_kobj);
+ of_node_put(node);
out_sgs:
kfree(sgs);
+out_sg_put:
+ of_node_put(sg);
}