[PATCH treewide 5/5] spi: amlogic-spisg: Make sure clk_init_data is fully initialized

Xianwei Zhao xianwei.zhao at amlogic.com
Thu Aug 20 01:49:54 PDT 2026


Reviewed-by: Xianwei Zhao <xianwei.zhao at amlogic.com>

On 2026/8/20 03:05, 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.
> 
> aml_spisg_clk_init() fills in init.parent_data, and assumes that
> init.parent_names is NULL.  However, the latter in 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: cef9991e04aed330 ("spi: Add Amlogic SPISG driver")
> Signed-off-by: Geert Uytterhoeven<geert+renesas at glider.be>
> ---
> Compile-tested only.
> ---
>   drivers/spi/spi-amlogic-spisg.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/spi/spi-amlogic-spisg.c b/drivers/spi/spi-amlogic-spisg.c
> index afc8af04638d3b6e..9049a87e9d0f2df6 100644
> --- a/drivers/spi/spi-amlogic-spisg.c
> +++ b/drivers/spi/spi-amlogic-spisg.c
> @@ -636,7 +636,7 @@ static int aml_spisg_target_abort(struct spi_controller *ctlr)
>   static int aml_spisg_clk_init(struct spisg_device *spisg, void __iomem *base)
>   {
>          struct device *dev = &spisg->pdev->dev;
> -       struct clk_init_data init;
> +       struct clk_init_data init = {};
>          struct clk_divider *div;
>          struct clk_div_table *tbl;
>          char name[32];



More information about the linux-amlogic mailing list