Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: mediatek: Fix resource leak in mtk_clk_simple_probe

Release clock data when clock driver probe fail to fix
possible resource leak.

Signed-off-by: Chun-Jie Chen <chun-jie.chen@mediatek.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20210914021633.26377-6-chun-jie.chen@mediatek.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>

authored by

Chun-Jie Chen and committed by
Stephen Boyd
6203815b 300796ca

+10 -2
+10 -2
drivers/clk/mediatek/clk-mtk.c
··· 314 314 315 315 r = mtk_clk_register_gates(node, mcd->clks, mcd->num_clks, clk_data); 316 316 if (r) 317 - return r; 317 + goto free_data; 318 318 319 - return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data); 319 + r = of_clk_add_provider(node, of_clk_src_onecell_get, clk_data); 320 + if (r) 321 + goto free_data; 322 + 323 + return r; 324 + 325 + free_data: 326 + mtk_free_clk_data(clk_data); 327 + return r; 320 328 }