CVE-2024-46850: drm/amd/display: Avoid race between dcn35_set_drr() and dc_state_destruct()
In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: Avoid race between dcn35_set_drr() and dc_state_destruct()
dc_state_destruct() nulls the resource context of the DC state. The pipe
context passed to dcn35_set_drr() is a member of this resource context.
If dc_state_destruct() is called parallel to the IRQ processing (which
calls dcn35_set_drr() at some point), we can end up using already nulled
function callback fields of struct stream_resource.
The logic in dcn35_set_drr() already tries to avoid this, by checking tg
against NULL. But if the nulling happens exactly after the NULL check and
before the next access, then we get a race.
Avoid this by copying tg first to a local variable, and then use this
variable for all the operations. This should work, as long as nobody
frees the resource pool where the timing generators live.
(cherry picked from commit 0607a50c004798a96e62c089a4c34c220179dcb5)
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel AMD display driver race condition. During display interrupt handling, one thread may use display state while another is tearing it down. The public record does not provide CVSS, confirmed impact, or exploitation evidence, so business urgency should be based on fleet exposure to affected Linux kernels and AMD display systems.
Executive priority
Treat this as a kernel maintenance item, not an emergency, unless critical workstations or production systems depend on affected AMD display paths. Patch through normal kernel update channels once vendor packages are available.
Technical view
The issue is in drm/amd/display. dc_state_destruct() can null the DC state resource context while IRQ processing reaches dcn35_set_drr(). A NULL check on tg was insufficient because nulling could occur after the check. The fix copies tg to a local variable before use.
Likely exposure
Exposure appears limited to Linux systems using affected kernel versions with the AMD display stack. The bundle lists Linux 6.7 and versions before fixed stable releases, including references tied to 6.10.11 and 6.11, but distro package mapping must be verified.
Exploitation context
No CISA KEV listing is provided, and the bundle cites no public exploitation. The source describes a race condition in kernel display interrupt handling, but does not document attacker prerequisites, exploitability, or concrete impact beyond unsafe access to nulled callback fields.
Researcher notes
Evidence is limited to the CVE description and two kernel stable commits. The record gives no CVSS, CWE, exploit status, or detailed impact. Avoid assuming remote reachability or privilege escalation without additional vendor analysis.
Mitigation direction
Apply Linux kernel vendor updates containing the referenced stable fixes.
Prioritize systems with AMD GPUs or AMD display driver usage.
Check distribution advisories for backported fixes and affected package versions.
If updates are unavailable, follow vendor guidance for temporary risk reduction.
Validation and detection
Inventory Linux kernel versions across AMD display-capable systems.
Confirm installed kernels include the referenced stable commits or vendor backports.
Review distro security advisories for CVE-2024-46850 package status.
Check kernel logs for relevant amdgpu or display crash indicators.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-46850 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.