Message ID | 20241031-clk-renesas-cpg-mssr-cleanup-v1-1-628274ecbfcb@gmail.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | clk: renesas: cpg-mssr: fix 'soc' node handling and automate cleanup | expand |
diff --git a/drivers/clk/renesas/renesas-cpg-mssr.c b/drivers/clk/renesas/renesas-cpg-mssr.c index 79e7a90c3b1b..5dc89b1009fe 100644 --- a/drivers/clk/renesas/renesas-cpg-mssr.c +++ b/drivers/clk/renesas/renesas-cpg-mssr.c @@ -1022,6 +1022,7 @@ static int __init cpg_mssr_reserved_init(struct cpg_mssr_priv *priv, ids = krealloc_array(ids, (num + 1), sizeof(*ids), GFP_KERNEL); if (!ids) { + of_node_put(soc); of_node_put(it.node); return -ENOMEM; } @@ -1036,6 +1037,7 @@ static int __init cpg_mssr_reserved_init(struct cpg_mssr_priv *priv, num++; } } + of_node_put(soc); priv->num_reserved_ids = num; priv->reserved_ids = ids;
A device_node reference obtained via of_find_node_by_path() requires explicit calls to of_node_put() after it is no longer required to avoid leaking the resource. Add the missing calls to of_node_put(soc) in all execution paths when 'soc' is no longer required (one error path, and the success path). Cc: stable@vger.kernel.org Fixes: 6aa175476490 ("clk: renesas: cpg-mssr: Ignore all clocks assigned to non-Linux system") Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> --- drivers/clk/renesas/renesas-cpg-mssr.c | 2 ++ 1 file changed, 2 insertions(+)