soc: amlogic: meson-gx-socinfo: Add of_node_put() before return
authorNishka Dasgupta <nishkadg.linux@gmail.com>
Mon, 19 Aug 2019 07:27:06 +0000 (12:57 +0530)
committerKevin Hilman <khilman@baylibre.com>
Tue, 20 Aug 2019 21:53:33 +0000 (14:53 -0700)
The variable np in function meson_gx_socinfo_init takes the return value
of of_find_compatible_node, which gets a node but does not put it. If
this node is not put it may cause a memory leak. Hence put np after its
usefulness has been exhausted.
Issue found with Coccinelle.

Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Fixes: a9daaba2965e ("soc: Add Amlogic SoC Information driver")
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
drivers/soc/amlogic/meson-gx-socinfo.c

index b9f4c6f4fd038973167222aea21fcbaffd988b54..6d0d04f163cb0e79b7365689df842ae09c7b0e7b 100644 (file)
@@ -141,8 +141,10 @@ static int __init meson_gx_socinfo_init(void)
        }
 
        /* check if chip-id is available */
-       if (!of_property_read_bool(np, "amlogic,has-chip-id"))
+       if (!of_property_read_bool(np, "amlogic,has-chip-id")) {
+               of_node_put(np);
                return -ENODEV;
+       }
 
        /* node should be a syscon */
        regmap = syscon_node_to_regmap(np);