[PATCH 2/2] clk: exynos: do not reparent requested clock
chiffathefox
chiffathefoxx at gmail.com
Thu Jan 15 04:11:14 CET 2026
It would appear the original developer of this driver
reparented child clock devices to fix the issue described in
`clk: clk_resolve_parent_clk(): resolve external clocks by id`.
This hacky fix was the cause of invalid memory access when calling
clk_get_rate() on a clock retrieved via clk_get_by_index().
clk_get_by_index() returns a copy of the `struct clk` and
when passed to clk_get_rate() it may be forwarded to
clk_divider_recalc_rate(), which will cause the latter to
run container_of() on a pointer from caller's stack instead
of the pointer that was kzalloc()'d by the clk-divider driver.
Signed-off-by: chiffathefox <chiffathefoxx at gmail.com>
---
drivers/clk/exynos/clk.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/clk/exynos/clk.c b/drivers/clk/exynos/clk.c
index a2c9f4851da..aa4d4112db7 100644
--- a/drivers/clk/exynos/clk.c
+++ b/drivers/clk/exynos/clk.c
@@ -19,7 +19,6 @@ int samsung_clk_request(struct clk *clk)
if (ret)
return ret;
- clk->dev = c->dev;
return 0;
}
--
2.34.1
More information about the U-Boot
mailing list