[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