CVE-2026-53056

Summary

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

drm/msm/dpu: fix mismatch between power and frequency

During DPU runtime suspend, calling dev_pm_opp_set_rate(dev, 0) drops the MMCX rail to MIN_SVS while the core clock frequency remains at its original (highest) rate. When runtime resume re-enables the clock, this may result in a mismatch between the rail voltage and the clock rate.

For example, in the DPU bind path, the sequence could be: cpu0: dev_sync_state -> rpmhpd_sync_state cpu1: dpu_kms_hw_init timeline 0 ————————————————> t

After rpmhpd_sync_state, the voltage performance is no longer guaranteed to stay at the highest level. During dpu_kms_hw_init, calling dev_pm_opp_set_rate(dev, 0) drops the voltage, causing the MMCX rail to fall to MIN_SVS while the core clock is still at its maximum frequency. When the power is re-enabled, only the clock is enabled, leading to a situation where the MMCX rail is at MIN_SVS but the core clock is at its highest rate. In this state, the rail cannot sustain the clock rate, which may cause instability or system crash.

Remove the call to dev_pm_opp_set_rate(dev, 0) from dpu_runtime_suspend to ensure the correct vote is restored when DPU resumes.

Patchwork: https://patchwork.freedesktop.org/patch/710077/

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxb0530eb1191307e9038d75e5c83973a396137681 < 1181a7028d37e0b1e720a36125a03f5db97e3d27affected
LinuxLinuxb0530eb1191307e9038d75e5c83973a396137681 < 9830999c9e065c1813ec5435bfe4eab98ee54a87affected
LinuxLinuxb0530eb1191307e9038d75e5c83973a396137681 < c5735c7d0eef7a5240f9c1c66e44ba52a1be58d6affected
LinuxLinuxb0530eb1191307e9038d75e5c83973a396137681 < 0f7dd5839cfabaf9c007fb718ec66e907a473c93affected
LinuxLinuxb0530eb1191307e9038d75e5c83973a396137681 < 0ccf4f27b4652570b5de3de02a89a86435559de9affected
LinuxLinuxb0530eb1191307e9038d75e5c83973a396137681 < bc1dccc518cc5ab5140fba06c27e7188e0ed342baffected
LinuxLinux5.9affected
LinuxLinux0 < 5.9unaffected
LinuxLinux6.1.175 <= 6.1.*unaffected
LinuxLinux6.6.141 <= 6.6.*unaffected
LinuxLinux6.12.91 <= 6.12.*unaffected
LinuxLinux6.18.33 <= 6.18.*unaffected
LinuxLinux7.0.10 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References