CVE-2025-38633

Summary

In the Linux kernel, the following vulnerability has been resolved:

clk: spacemit: mark K1 pll1_d8 as critical

The pll1_d8 clock is enabled by the boot loader, and is ultimately a parent for numerous clocks, including those used by APB and AXI buses. Guodong Xu discovered that this clock got disabled while responding to getting -EPROBE_DEFER when requesting a reset controller.

The needed clock (CLK_DMA, along with its parents) had already been enabled. To respond to the probe deferral return, the CLK_DMA clock was disabled, and this led to parent clocks also reducing their enable count. When the enable count for pll1_d8 was decremented it became 0, which caused it to be disabled. This led to a system hang.

Marking that clock critical resolves this by preventing it from being disabled.

Define a new macro CCU_FACTOR_GATE_DEFINE() to allow clock flags to be supplied for a CCU_FACTOR_GATE clock.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux1b72c59db0add8e47fa116b21f78ed0b09a264f3 < 10948c00e548e9ad2ce9d765baf26dce2d9b806baffected
LinuxLinux1b72c59db0add8e47fa116b21f78ed0b09a264f3 < 7554729de27daf6d54bcf8689d863bbe267828bfaffected
LinuxLinux6.16affected
LinuxLinux0 < 6.16unaffected
LinuxLinux6.16.1 <= 6.16.*unaffected
LinuxLinux6.17 <= *unaffected

Weaknesses

References