CVE-2026-99020: regulator: tps6594-regulator: Fix n_linear_ranges for TPS65224 BUCK2-4
In the Linux kernel, the following vulnerability has been resolved:
regulator: tps6594-regulator: Fix nlinearranges for TPS65224 BUCK2-4
The TPS65224 BUCK2, BUCK3 and BUCK4 descriptors pass 4 as nlinearranges, but tps65224bucks234ranges[] only has two entries, covering selectors 0x00-0x45.
The linear range helpers loop over nlinearranges entries, so any lookup of a selector above 0x45 reads past the end of the array and treats whatever follows it as two more ranges. This happens on the normal registration path when the core checks the voltage constraints against every selector. TPS652G1 uses the same descriptors and is affected too.
Use ARRAYSIZE() so the count always matches the table.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Set n_linear_ranges using ARRAY_SIZE() so the count matches the descriptor table, including the TPS65224 BUCK2, BUCK3, and BUCK4 ranges.
regulator: tps6594-regulator (TPS65224 BUCK2-4 and TPS652G1) n_linear_ranges = ARRAY_SIZE() of the corresponding linear-range table