{"id":"CVE-2026-53056","state":"PUBLISHED","title":"drm/msm/dpu: fix mismatch between power and frequency","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/msm/dpu: fix mismatch between power and frequency\n\nDuring DPU runtime suspend, calling dev_pm_opp_set_rate(dev, 0) drops\nthe MMCX rail to MIN_SVS while the core clock frequency remains at its\noriginal (highest) rate. When runtime resume re-enables the clock, this\nmay result in a mismatch between the rail voltage and the clock rate.\n\nFor example, in the DPU bind path, the sequence could be:\n  cpu0: dev_sync_state -> rpmhpd_sync_state\n  cpu1:                                     dpu_kms_hw_init\ntimeline 0 ------------------------------------------------> t\n\nAfter rpmhpd_sync_state, the voltage performance is no longer guaranteed\nto stay at the highest level. During dpu_kms_hw_init, calling\ndev_pm_opp_set_rate(dev, 0) drops the voltage, causing the MMCX rail to\nfall to MIN_SVS while the core clock is still at its maximum frequency.\nWhen the power is re-enabled, only the clock is enabled, leading to a\nsituation where the MMCX rail is at MIN_SVS but the core clock is at its\nhighest rate. In this state, the rail cannot sustain the clock rate,\nwhich may cause instability or system crash.\n\nRemove the call to dev_pm_opp_set_rate(dev, 0) from dpu_runtime_suspend\nto ensure the correct vote is restored when DPU resumes.\n\nPatchwork: https://patchwork.freedesktop.org/patch/710077/","publishedAt":"2026-06-24T16:30:01.694Z","updatedAt":"2026-06-24T16:30:01.694Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"b0530eb1191307e9038d75e5c83973a396137681","status":"affected","lessThan":"1181a7028d37e0b1e720a36125a03f5db97e3d27","versionType":"git"},{"version":"b0530eb1191307e9038d75e5c83973a396137681","status":"affected","lessThan":"9830999c9e065c1813ec5435bfe4eab98ee54a87","versionType":"git"},{"version":"b0530eb1191307e9038d75e5c83973a396137681","status":"affected","lessThan":"c5735c7d0eef7a5240f9c1c66e44ba52a1be58d6","versionType":"git"},{"version":"b0530eb1191307e9038d75e5c83973a396137681","status":"affected","lessThan":"0f7dd5839cfabaf9c007fb718ec66e907a473c93","versionType":"git"},{"version":"b0530eb1191307e9038d75e5c83973a396137681","status":"affected","lessThan":"0ccf4f27b4652570b5de3de02a89a86435559de9","versionType":"git"},{"version":"b0530eb1191307e9038d75e5c83973a396137681","status":"affected","lessThan":"bc1dccc518cc5ab5140fba06c27e7188e0ed342b","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.9","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.9","versionType":"semver"},{"version":"6.1.175","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.141","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.91","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.33","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.10","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c"]}],"references":["https://git.kernel.org/stable/c/1181a7028d37e0b1e720a36125a03f5db97e3d27","https://git.kernel.org/stable/c/9830999c9e065c1813ec5435bfe4eab98ee54a87","https://git.kernel.org/stable/c/c5735c7d0eef7a5240f9c1c66e44ba52a1be58d6","https://git.kernel.org/stable/c/0f7dd5839cfabaf9c007fb718ec66e907a473c93","https://git.kernel.org/stable/c/0ccf4f27b4652570b5de3de02a89a86435559de9","https://git.kernel.org/stable/c/bc1dccc518cc5ab5140fba06c27e7188e0ed342b"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:16.098Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/53xxx/CVE-2026-53056.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-53056","state":"PUBLISHED","datePublished":"2026-06-24T16:30:01.694Z","dateUpdated":"2026-06-24T16:30:01.694Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-06-09T07:44:35.381Z"},"containers":{"cna":{"title":"drm/msm/dpu: fix mismatch between power and frequency","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/msm/dpu: fix mismatch between power and frequency\n\nDuring DPU runtime suspend, calling dev_pm_opp_set_rate(dev, 0) drops\nthe MMCX rail to MIN_SVS while the core clock frequency remains at its\noriginal (highest) rate. When runtime resume re-enables the clock, this\nmay result in a mismatch between the rail voltage and the clock rate.\n\nFor example, in the DPU bind path, the sequence could be:\n  cpu0: dev_sync_state -> rpmhpd_sync_state\n  cpu1:                                     dpu_kms_hw_init\ntimeline 0 ------------------------------------------------> t\n\nAfter rpmhpd_sync_state, the voltage performance is no longer guaranteed\nto stay at the highest level. During dpu_kms_hw_init, calling\ndev_pm_opp_set_rate(dev, 0) drops the voltage, causing the MMCX rail to\nfall to MIN_SVS while the core clock is still at its maximum frequency.\nWhen the power is re-enabled, only the clock is enabled, leading to a\nsituation where the MMCX rail is at MIN_SVS but the core clock is at its\nhighest rate. In this state, the rail cannot sustain the clock rate,\nwhich may cause instability or system crash.\n\nRemove the call to dev_pm_opp_set_rate(dev, 0) from dpu_runtime_suspend\nto ensure the correct vote is restored when DPU resumes.\n\nPatchwork: https://patchwork.freedesktop.org/patch/710077/"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"b0530eb1191307e9038d75e5c83973a396137681","status":"affected","lessThan":"1181a7028d37e0b1e720a36125a03f5db97e3d27","versionType":"git"},{"version":"b0530eb1191307e9038d75e5c83973a396137681","status":"affected","lessThan":"9830999c9e065c1813ec5435bfe4eab98ee54a87","versionType":"git"},{"version":"b0530eb1191307e9038d75e5c83973a396137681","status":"affected","lessThan":"c5735c7d0eef7a5240f9c1c66e44ba52a1be58d6","versionType":"git"},{"version":"b0530eb1191307e9038d75e5c83973a396137681","status":"affected","lessThan":"0f7dd5839cfabaf9c007fb718ec66e907a473c93","versionType":"git"},{"version":"b0530eb1191307e9038d75e5c83973a396137681","status":"affected","lessThan":"0ccf4f27b4652570b5de3de02a89a86435559de9","versionType":"git"},{"version":"b0530eb1191307e9038d75e5c83973a396137681","status":"affected","lessThan":"bc1dccc518cc5ab5140fba06c27e7188e0ed342b","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.9","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.9","versionType":"semver"},{"version":"6.1.175","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.141","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.91","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.33","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.10","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/1181a7028d37e0b1e720a36125a03f5db97e3d27"},{"url":"https://git.kernel.org/stable/c/9830999c9e065c1813ec5435bfe4eab98ee54a87"},{"url":"https://git.kernel.org/stable/c/c5735c7d0eef7a5240f9c1c66e44ba52a1be58d6"},{"url":"https://git.kernel.org/stable/c/0f7dd5839cfabaf9c007fb718ec66e907a473c93"},{"url":"https://git.kernel.org/stable/c/0ccf4f27b4652570b5de3de02a89a86435559de9"},{"url":"https://git.kernel.org/stable/c/bc1dccc518cc5ab5140fba06c27e7188e0ed342b"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-06-24T16:30:01.694Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"6.1.175"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"6.6.141"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"6.12.91"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"6.18.33"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"7.0.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"7.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}