Skip to content

Commit 36aaa3a

Browse files
Dan Carpentergeertu
authored andcommitted
clk: renesas: rzg2l: Fix a double free on error
The "pll_clk" and "clock" pointers are allocated with devm_kzalloc() so freeing them with kfree() will lead to a double free. This would only happen if probe failed, and the system is not bootable. Fixes: ef3c613 ("clk: renesas: Add CPG core wrapper for RZ/G2L SoC") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Link: https://lore.kernel.org/r/YMtYs7LVveYH4eRe@mwanda Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
1 parent 97c2975 commit 36aaa3a

1 file changed

Lines changed: 1 addition & 7 deletions

File tree

drivers/clk/renesas/renesas-rzg2l-cpg.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,6 @@ rzg2l_cpg_pll_clk_register(const struct cpg_core_clk *core,
175175
struct clk_init_data init;
176176
const char *parent_name;
177177
struct pll_clk *pll_clk;
178-
struct clk *clk;
179178

180179
parent = clks[core->parent & 0xffff];
181180
if (IS_ERR(parent))
@@ -198,11 +197,7 @@ rzg2l_cpg_pll_clk_register(const struct cpg_core_clk *core,
198197
pll_clk->priv = priv;
199198
pll_clk->type = core->type;
200199

201-
clk = clk_register(NULL, &pll_clk->hw);
202-
if (IS_ERR(clk))
203-
kfree(pll_clk);
204-
205-
return clk;
200+
return clk_register(NULL, &pll_clk->hw);
206201
}
207202

208203
static struct clk
@@ -471,7 +466,6 @@ rzg2l_cpg_register_mod_clk(const struct rzg2l_mod_clk *mod,
471466
fail:
472467
dev_err(dev, "Failed to register %s clock %s: %ld\n", "module",
473468
mod->name, PTR_ERR(clk));
474-
kfree(clock);
475469
}
476470

477471
#define rcdev_to_priv(x) container_of(x, struct rzg2l_cpg_priv, rcdev)

0 commit comments

Comments
 (0)