CVE-2026-98676: iio: adc: ade9000: fix NULL pointer dereference in clkout registration
In the Linux kernel, the following vulnerability has been resolved:
iio: adc: ade9000: fix NULL pointer dereference in clkout registration
ade9000setupclkout() passes NULL as the register address when registering a divider clock. During clock registration, the common clock framework calls clkdividerrecalcrate(), which dereferences the address through readl(). As a result, probing an ADE9000 configured as a clock provider with an external input clock crashes.
CLKOUT passes CLKIN through without changing its rate. Register it as a 1:1 fixed-factor clock, which does not require register access.
This change does not affect the configuration using the internal clock, for which the driver does not register a clock provider.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Register CLKOUT as a 1:1 fixed-factor clock when configured with an external input clock, rather than registering a divider clock that requires register access.
ADE9000 CLKOUT clock provider clock registration type = 1:1 fixed-factor clock