CVE-2026-90122: clk: visconti: Make sure clk_init_data is fully initialized
In the Linux kernel, the following vulnerability has been resolved:
clk: visconti: 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.
visconticlkregistergate() 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
Event History
Frequently Asked Questions
Which systems are most likely to encounter this issue?
Systems using the Linux kernel Visconti clock driver are relevant. The issue is exposed when the kernel is built with CONFIG_INIT_STACK_ALL_PATTERN or CONFIG_INIT_STACK_NONE enabled.
What causes the failure?
The Visconti gate-clock registration path sets init.parent_data but leaves the mutually exclusive init.parent_names member uninitialized. If that uninitialized member is not NULL, the clock code may use it and crash.
How can I determine whether my kernel is affected?
Check whether the Visconti clock driver is in use and whether the kernel configuration enables CONFIG_INIT_STACK_ALL_PATTERN or CONFIG_INIT_STACK_NONE. Also verify whether the kernel includes the fixes referenced by the listed stable commits.