projects
/
platform
/
kernel
/
linux-rpi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
82fce51
)
clk: ti: fix double free in of_ti_divider_clk_setup()
author
Dan Carpenter
<dan.carpenter@linaro.org>
Mon, 2 Oct 2023 07:04:36 +0000
(10:04 +0300)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:59:06 +0000
(11:59 +0100)
[ Upstream commit
7af5b9eadd64c9e02a71f97c45bcdf3b64841f6b
]
The "div" pointer is freed in _register_divider() and again in
of_ti_divider_clk_setup(). Delete the free in _register_divider()
Fixes: fbbc18591585 ("clk: ti: divider: cleanup _register_divider and ti_clk_get_div_table")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link:
https://lore.kernel.org/r/6d36eeec-6c8a-4f11-a579-aa3cd7c38749@moroto.mountain
Reviewed-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/ti/divider.c
patch
|
blob
|
history
diff --git
a/drivers/clk/ti/divider.c
b/drivers/clk/ti/divider.c
index 768a1f3398b47d03c642c28b47ea82d2f1827218..5d5bb123ba9494c01e918e69e377784890c1edd5 100644
(file)
--- a/
drivers/clk/ti/divider.c
+++ b/
drivers/clk/ti/divider.c
@@
-309,7
+309,6
@@
static struct clk *_register_divider(struct device_node *node,
u32 flags,
struct clk_omap_divider *div)
{
- struct clk *clk;
struct clk_init_data init;
const char *parent_name;
const char *name;
@@
-326,12
+325,7
@@
static struct clk *_register_divider(struct device_node *node,
div->hw.init = &init;
/* register the clock */
- clk = of_ti_clk_register(node, &div->hw, name);
-
- if (IS_ERR(clk))
- kfree(div);
-
- return clk;
+ return of_ti_clk_register(node, &div->hw, name);
}
int ti_clk_parse_divider_data(int *div_table, int num_dividers, int max_div,