Lucene search

K
vulnrichmentLinuxVULNRICHMENT:CVE-2023-52485
HistoryFeb 29, 2024 - 2:57 p.m.

CVE-2023-52485 drm/amd/display: Wake DMCUB before sending a command

2024-02-2914:57:51
Linux
github.com
2
linux kernel
vulnerability
resolved
drm
amd
display
dmcub
command
power optimization
deadlock

7.4 High

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

9.1%

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

drm/amd/display: Wake DMCUB before sending a command

[Why]
We can hang in place trying to send commands when the DMCUB isn’t
powered on.

[How]
For functions that execute within a DC context or DC lock we can
wrap the direct calls to dm_execute_dmub_cmd/list with code that
exits idle power optimizations and reallows once we’re done with
the command submission on success.

For DM direct submissions the DM will need to manage the enter/exit
sequencing manually.

We cannot invoke a DMCUB command directly within the DM execution
helper or we can deadlock.

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c",
      "drivers/gpu/drm/amd/display/dc/bios/command_table2.c",
      "drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c",
      "drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c",
      "drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c",
      "drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c",
      "drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c",
      "drivers/gpu/drm/amd/display/dc/core/dc.c",
      "drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c",
      "drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c",
      "drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h",
      "drivers/gpu/drm/amd/display/dc/dc_helper.c",
      "drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c",
      "drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c",
      "drivers/gpu/drm/amd/display/dc/dce/dmub_outbox.c",
      "drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c",
      "drivers/gpu/drm/amd/display/dc/dcn21/dcn21_hubp.c",
      "drivers/gpu/drm/amd/display/dc/dcn31/dcn31_dio_link_encoder.c",
      "drivers/gpu/drm/amd/display/dc/dcn31/dcn31_panel_cntl.c",
      "drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c",
      "drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c",
      "drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c",
      "drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c",
      "drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c",
      "drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_dpia.c"
    ],
    "versions": [
      {
        "version": "1da177e4c3f4",
        "lessThan": "303197775a97",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "1da177e4c3f4",
        "lessThan": "8892780834ae",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c",
      "drivers/gpu/drm/amd/display/dc/bios/command_table2.c",
      "drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c",
      "drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c",
      "drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c",
      "drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c",
      "drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c",
      "drivers/gpu/drm/amd/display/dc/core/dc.c",
      "drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c",
      "drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c",
      "drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h",
      "drivers/gpu/drm/amd/display/dc/dc_helper.c",
      "drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c",
      "drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c",
      "drivers/gpu/drm/amd/display/dc/dce/dmub_outbox.c",
      "drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c",
      "drivers/gpu/drm/amd/display/dc/dcn21/dcn21_hubp.c",
      "drivers/gpu/drm/amd/display/dc/dcn31/dcn31_dio_link_encoder.c",
      "drivers/gpu/drm/amd/display/dc/dcn31/dcn31_panel_cntl.c",
      "drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c",
      "drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c",
      "drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c",
      "drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c",
      "drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c",
      "drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_dpia.c"
    ],
    "versions": [
      {
        "version": "6.7.3",
        "lessThanOrEqual": "6.7.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.8",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

7.4 High

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

9.1%