CVE-2026-93249: spi: amlogic-spisg: Make sure clk_init_data is fully initialized
In the Linux kernel, the following vulnerability has been resolved:
spi: amlogic-spisg: Make sure clkinitdata is fully initialized
The clkinitdata 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 CONFIGINITSTACKALLPATTERN or CONFIGINITSTACKNONE is enabled.
amlspisgclkinit() fills in init.parentdata, and assumes that init.parentnames 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Update aml_spisg_clk_init() so all members of clk_init_data are explicitly initialized, including ensuring init.parent_names is NULL when init.parent_data is used.
Linux kernel spi: amlogic-spisg clk_init_data initialization = fully initialized
Event History
Frequently Asked Questions
Which systems are most likely to encounter this issue?
Systems using the Linux kernel amlogic-spisg SPI driver are relevant. The problem is only exposed when CONFIG_INIT_STACK_ALL_PATTERN or CONFIG_INIT_STACK_NONE is enabled.
What causes the crash condition?
During aml_spisg_clk_init(), the driver initializes init.parent_data but leaves init.parent_names uninitialized. Code handling the clock initialization can then encounter the unintended parent_names value and crash.
How can I determine whether my kernel configuration exposes the issue?
Check whether the amlogic-spisg driver is in use and whether CONFIG_INIT_STACK_ALL_PATTERN or CONFIG_INIT_STACK_NONE is enabled in the kernel configuration. The description identifies those stack-initialization configurations as necessary for the subtle uninitialized-member issue to be exposed.