* [PATCH v2] iio: frequency: adf4377: Fully initialize clk_init_data and clk_parent_data
@ 2026-08-20 9:19 Geert Uytterhoeven
2026-08-20 10:09 ` Joshua Crofts
2026-08-20 15:09 ` Brian Masney
0 siblings, 2 replies; 3+ messages in thread
From: Geert Uytterhoeven @ 2026-08-20 9:19 UTC (permalink / raw)
To: Nuno Sá, Michael Hennerich, Antoniu Miclaus,
Jonathan Cameron, David Lechner, Andy Shevchenko, Stephen Boyd,
Brian Masney, Jerome Brunet
Cc: linux, linux-iio, linux-clk, linux-kernel, Geert Uytterhoeven
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.
adf4377_clk_register() fills in init.parent_data, and assumes that
init.parent_names is NULL. However, the latter is uninitialized, and
thus may cause a crash.
Similarly, adf4377_clk_register() fills in only parent_data.fw_name,
leaving other members of the clk_parent_data structure uninitialized.
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: 60e5448ddbec2dc2 ("iio: frequency: adf4377: add clk provider support")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
Compile-tested only.
v2:
- Extract from series "[PATCH treewide 0/5] clk: Make sure
clk_init_data is fully initialized (part 1)"
(https://lore.kernel.org/cover.1787165329.git.geert+renesas@glider.be),
- Fully initialize clk_parent_data too, as pointed out by Sashiko.
---
drivers/iio/frequency/adf4377.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/iio/frequency/adf4377.c b/drivers/iio/frequency/adf4377.c
index 4dd19a9aa9943c57..b8c31665857c5201 100644
--- a/drivers/iio/frequency/adf4377.c
+++ b/drivers/iio/frequency/adf4377.c
@@ -988,10 +988,10 @@ static const struct clk_ops adf4377_clk_ops = {
static int adf4377_clk_register(struct adf4377_state *st)
{
+ struct clk_parent_data parent_data = {};
struct spi_device *spi = st->spi;
struct device *dev = &spi->dev;
- struct clk_init_data init;
- struct clk_parent_data parent_data;
+ struct clk_init_data init = {};
int ret;
if (!device_property_present(dev, "#clock-cells"))
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] iio: frequency: adf4377: Fully initialize clk_init_data and clk_parent_data
2026-08-20 9:19 [PATCH v2] iio: frequency: adf4377: Fully initialize clk_init_data and clk_parent_data Geert Uytterhoeven
@ 2026-08-20 10:09 ` Joshua Crofts
2026-08-20 15:09 ` Brian Masney
1 sibling, 0 replies; 3+ messages in thread
From: Joshua Crofts @ 2026-08-20 10:09 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Nuno Sá, Michael Hennerich, Antoniu Miclaus,
Jonathan Cameron, David Lechner, Andy Shevchenko, Stephen Boyd,
Brian Masney, Jerome Brunet, linux, linux-iio, linux-clk,
linux-kernel
On Thu, 20 Aug 2026 11:19:52 +0200
Geert Uytterhoeven <geert+renesas@glider.be> 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.
>
> adf4377_clk_register() fills in init.parent_data, and assumes that
> init.parent_names is NULL. However, the latter is uninitialized, and
> thus may cause a crash.
>
> Similarly, adf4377_clk_register() fills in only parent_data.fw_name,
> leaving other members of the clk_parent_data structure uninitialized.
>
> 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: 60e5448ddbec2dc2 ("iio: frequency: adf4377: add clk provider support")
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
Reviewed-by: Joshua Crofts <joshua.crofts1@gmail.com>
--
Kind regards,
Joshua Crofts
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] iio: frequency: adf4377: Fully initialize clk_init_data and clk_parent_data
2026-08-20 9:19 [PATCH v2] iio: frequency: adf4377: Fully initialize clk_init_data and clk_parent_data Geert Uytterhoeven
2026-08-20 10:09 ` Joshua Crofts
@ 2026-08-20 15:09 ` Brian Masney
1 sibling, 0 replies; 3+ messages in thread
From: Brian Masney @ 2026-08-20 15:09 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Nuno Sá, Michael Hennerich, Antoniu Miclaus,
Jonathan Cameron, David Lechner, Andy Shevchenko, Stephen Boyd,
Brian Masney, Jerome Brunet, linux, linux-iio, linux-clk,
linux-kernel
On Thu, Aug 20, 2026 at 11:19:52AM +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.
>
> adf4377_clk_register() fills in init.parent_data, and assumes that
> init.parent_names is NULL. However, the latter is uninitialized, and
> thus may cause a crash.
>
> Similarly, adf4377_clk_register() fills in only parent_data.fw_name,
> leaving other members of the clk_parent_data structure uninitialized.
>
> 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: 60e5448ddbec2dc2 ("iio: frequency: adf4377: add clk provider support")
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Brian Masney <bmasney@redhat.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-08-20 15:09 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-20 9:19 [PATCH v2] iio: frequency: adf4377: Fully initialize clk_init_data and clk_parent_data Geert Uytterhoeven
2026-08-20 10:09 ` Joshua Crofts
2026-08-20 15:09 ` Brian Masney
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.