diff options
author | Xiu Jianfeng <xiujianfeng@huawei.com> | 2022-11-22 21:36:14 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-01-07 12:07:33 +0100 |
commit | 081538ae5817631a2b99e8e75cce981060aab29f (patch) | |
tree | 235db50ace13dc519e193d9cbe325ee11e5cdb3a | |
parent | 146bd005ebb01ae190c22af050cb98623958c373 (diff) | |
download | linux-stable-081538ae5817631a2b99e8e75cce981060aab29f.tar.gz linux-stable-081538ae5817631a2b99e8e75cce981060aab29f.tar.bz2 linux-stable-081538ae5817631a2b99e8e75cce981060aab29f.zip |
clk: st: Fix memory leak in st_of_quadfs_setup()
[ Upstream commit cfd3ffb36f0d566846163118651d868e607300ba ]
If st_clk_register_quadfs_pll() fails, @lock should be freed before goto
@err_exit, otherwise will cause meory leak issue, fix it.
Signed-off-by: Xiu Jianfeng <xiujianfeng@huawei.com>
Link: https://lore.kernel.org/r/20221122133614.184910-1-xiujianfeng@huawei.com
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | drivers/clk/st/clkgen-fsyn.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/clk/st/clkgen-fsyn.c b/drivers/clk/st/clkgen-fsyn.c index 14819d919df1..715c5d3a5cde 100644 --- a/drivers/clk/st/clkgen-fsyn.c +++ b/drivers/clk/st/clkgen-fsyn.c @@ -948,9 +948,10 @@ static void __init st_of_quadfs_setup(struct device_node *np, clk = st_clk_register_quadfs_pll(pll_name, clk_parent_name, data, reg, lock); - if (IS_ERR(clk)) + if (IS_ERR(clk)) { + kfree(lock); goto err_exit; - else + } else pr_debug("%s: parent %s rate %u\n", __clk_get_name(clk), __clk_get_name(clk_get_parent(clk)), |