linux/drivers/clk/ti
Geert Uytterhoeven 3ae1674975
clk: ti: Make sure clk_init_data is fully initialized
The clk_init_data structure contains several mutually-exclusive members
for different methods to specify the possible parents of a clock,
prompting drivers to initialize only the members they need.  However,
not initializing all members may cause subtle issues, which are only
exposed when CONFIG_INIT_STACK_ALL_PATTERN or CONFIG_INIT_STACK_NONE is
enabled.

_register_mux() fills in init.parent_data, and assumes that
init.parent_names is NULL.  However, the latter is uninitialized, and
thus may cause a crash.

Make sure all members are fully initialized, to fix such bugs, and to
avoid future breakage when converting drivers to a different method for
specifying the parents.

Fixes: 667f420c09 ("clk: ti: mux: resolve parent clocks by DT index, not by name")
Closes: https://lore.kernel.org/CAMuHMdU3yVqoyHC4eNF2NuYo8wy+6ODLoYat4R71X99Mxc_=kw@mail.gmail.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Brian Masney <bmasney@redhat.com>
Reviewed-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2026-08-19 22:55:18 -07:00
..
adpll.c clk: ti: Make sure clk_init_data is fully initialized 2026-08-19 22:55:18 -07:00
apll.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
autoidle.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
clk-2xxx.c
clk-3xxx.c
clk-7xx.c
clk-33xx.c clk: ti: am33xx: keep WKUP_DEBUGSS_CLKCTRL enabled 2025-09-19 22:27:48 -07:00
clk-43xx.c clk: Fix typos 2025-07-26 23:49:18 -07:00
clk-44xx.c
clk-54xx.c
clk-814x.c
clk-816x.c
clk-dra7-atl.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
clk.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
clkctrl.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
clkt_dflt.c
clkt_dpll.c clk: ti: dpll: convert from round_rate() to determine_rate() 2025-09-08 12:50:55 -04:00
clkt_iclk.c
clock.h clk: ti: dpll: convert from round_rate() to determine_rate() 2025-09-08 12:50:55 -04:00
clockdomain.c
composite.c clk: ti: composite: resolve parent clocks by DT index, not by name 2026-08-17 09:28:18 -07:00
divider.c clk: ti: Make sure clk_init_data is fully initialized 2026-08-19 22:55:18 -07:00
dpll.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dpll3xxx.c clk: ti: dpll: convert from round_rate() to determine_rate() 2025-09-08 12:50:55 -04:00
dpll44xx.c clk: ti: dpll: convert from round_rate() to determine_rate() 2025-09-08 12:50:55 -04:00
fapll.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
fixed-factor.c
gate.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
interface.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
Kconfig
Makefile
mux.c clk: ti: Make sure clk_init_data is fully initialized 2026-08-19 22:55:18 -07:00