]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
clk: visconti: pll: initialize clk_init_data to zero
authorBrian Masney <bmasney@redhat.com>
Mon, 30 Mar 2026 14:32:37 +0000 (10:32 -0400)
committerStephen Boyd <sboyd@kernel.org>
Sun, 12 Apr 2026 00:55:27 +0000 (17:55 -0700)
Sashiko reported the following:

> The struct clk_init_data init is declared on the stack without being
> fully zero-initialized. While fields like name, flags, parent_names,
> num_parents, and ops are explicitly assigned, the parent_data and
> parent_hws fields are left containing stack garbage.

clk_core_populate_parent_map() currently prefers the parent names over
the parent data and hws, so this isn't a problem at the moment. If that
ordering ever changed in the future, then this could lead to some
unexpected crashes. Let's just go ahead and make sure that the struct
clk_init_data is initialized to zero as a good practice.

Fixes: b4cbe606dc367 ("clk: visconti: Add support common clock driver and reset driver")
Link: https://sashiko.dev/#/patchset/20260326042317.122536-1-rosenp%40gmail.com
Signed-off-by: Brian Masney <bmasney@redhat.com>
Reviewed-by: BenoƮt Monin <benoit.monin@bootlin.com>
Reviewed-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.x90@mail.toshiba>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/visconti/pll.c

index 6fd02c4b641ed58f1943e55dd60ae80aba30b902..805b95481281761ad7ea4f59ddac07e4cdfb9d42 100644 (file)
@@ -249,7 +249,7 @@ static struct clk_hw *visconti_register_pll(struct visconti_pll_provider *ctx,
                                            const struct visconti_pll_rate_table *rate_table,
                                            spinlock_t *lock)
 {
-       struct clk_init_data init;
+       struct clk_init_data init = {};
        struct visconti_pll *pll;
        struct clk_hw *pll_hw_clk;
        size_t len;