[PATCH] peci: controller: aspeed: Make sure clk_init_data is fully initialized

Winiarska, Iwona iwona.winiarska at intel.com
Thu Sep 17 14:06:36 PDT 2026


On Fri, 2026-08-21 at 12:08 +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 at glider.be>

Reviewed-by: Iwona Winiarska <iwona.winiarska at intel.com>

Thanks
-Iwona

> ---
> Compile-tested only.
> 
> Part One[1] fixed all cases that I identified to be real bugs, in
> response to a crash I saw on BeagleBone Black.
> 
> This patch is the PECI subpart of Part Two, which fixes remaining cases
> that are currently harmless.  These are still fragile, and may cause
> future breakage when converting drivers to a different method for
> specifying the parents.
> 
> [1] "[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
> ---
>  drivers/peci/controller/peci-aspeed.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/peci/controller/peci-aspeed.c
> b/drivers/peci/controller/peci-aspeed.c
> index a0c99ecf7f3805a1..2f4ea0e7d7a77dbd 100644
> --- a/drivers/peci/controller/peci-aspeed.c
> +++ b/drivers/peci/controller/peci-aspeed.c
> @@ -413,7 +413,7 @@ static struct clk
> *devm_aspeed_peci_register_clk_div(struct device *dev, struct
>  						     struct aspeed_peci
> *priv)
>  {
>  	struct clk_aspeed_peci *peci_clk;
> -	struct clk_init_data init;
> +	struct clk_init_data init = {};
>  	const char *parent_name;
>  	char name[32];
>  	int ret;


More information about the linux-arm-kernel mailing list