| Message ID | 308a33a0e63241d94ee08a08a6de6cffa739556e.1787239813.git.geert+renesas@glider.be |
|---|---|
| State | New |
| Headers | show |
| Series | clk: Make sure clk_init_data is fully initialized (part two) | expand |
On Fri, Aug 21, 2026 at 10:53:15AM +0200, Geert Uytterhoeven wrote: > 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. > > Make sure all members are fully initialized, to avoid such bugs, and to > prevent future breakage when converting drivers to a different method > for specifying the parents. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> Best regards, Liviu > --- > Compile-tested only. > --- > drivers/clk/clk-cdce925.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/clk/clk-cdce925.c b/drivers/clk/clk-cdce925.c > index 30d0493c771818ff..4d49cc1659c07be2 100644 > --- a/drivers/clk/clk-cdce925.c > +++ b/drivers/clk/clk-cdce925.c > @@ -620,7 +620,7 @@ static int cdce925_probe(struct i2c_client *client) > struct device_node *node = client->dev.of_node; > const char *parent_name; > const char *pll_clk_name[MAX_NUMBER_OF_PLLS] = {NULL,}; > - struct clk_init_data init; > + struct clk_init_data init = {}; > u32 value; > int i; > int err; > -- > 2.43.0 >
diff --git a/drivers/clk/clk-cdce925.c b/drivers/clk/clk-cdce925.c index 30d0493c771818ff..4d49cc1659c07be2 100644 --- a/drivers/clk/clk-cdce925.c +++ b/drivers/clk/clk-cdce925.c @@ -620,7 +620,7 @@ static int cdce925_probe(struct i2c_client *client) struct device_node *node = client->dev.of_node; const char *parent_name; const char *pll_clk_name[MAX_NUMBER_OF_PLLS] = {NULL,}; - struct clk_init_data init; + struct clk_init_data init = {}; u32 value; int i; int err;
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. Make sure all members are fully initialized, to avoid such bugs, and to prevent future breakage when converting drivers to a different method for specifying the parents. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- Compile-tested only. --- drivers/clk/clk-cdce925.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)