Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 1b72c59db0add8e47fa116b21f78ed0b09a264f3 before 10948c00e548e9ad2ce9d765baf26dce2d9b806b; affected 1b72c59db0add8e47fa116b21f78ed0b09a264f3 before 7554729de27daf6d54bcf8689d863bbe267828bf |
| Linux / Linux | affected 6.16; unaffected 0 before 6.16; unaffected 6.16.1 through 6.16.*; unaffected 6.17 through * |
CWE
No CWE identifiers supplied.