CVE-2024-46850: drm/amd/display: Avoid race between dcn35_set_drr() and dc_state_destruct()

Published Sep 27, 2024
·
Updated

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

drm/amd/display: Avoid race between dcn35setdrr() and dcstatedestruct()

dcstatedestruct() nulls the resource context of the DC state. The pipe context passed to dcn35setdrr() is a member of this resource context.

If dcstatedestruct() is called parallel to the IRQ processing (which calls dcn35setdrr() at some point), we can end up using already nulled function callback fields of struct streamresource.

The logic in dcn35setdrr() 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)

Affected Software

9 affected componentsFixes available
Linux Linux kernel>=6.7<6.10.11
Linux Linux kernel=6.11-rc1
Linux Linux kernel=6.11-rc2
Linux Linux kernel=6.11-rc3
Linux Linux kernel=6.11-rc4
Linux Linux kernel=6.11-rc5
Linux Linux kernel=6.11-rc6
Linux Linux kernel=6.11-rc7
debian/linux
5.10.223-15.10.234-16.1.129-16.1.135-16.12.22-16.12.25-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 5.10.223-1Fixed in 5.10.234-1Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.22-1Fixed in 6.12.25-1

Event History

Sep 27, 2024
CVE Published
via MITRE·12:42 PM
Data Sourced
via MITRE·12:42 PM
DescriptionSeverity
Data Sourced
via NVD·01:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Jan 13, 2025
Data Sourced
via Ubuntu·06:33 PM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2024-46850?

CVE-2024-46850 is classified as a medium-severity vulnerability in the Linux kernel.

2

How do I fix CVE-2024-46850?

To fix CVE-2024-46850, update your Linux kernel to a patched version, specifically 5.10.223-1, 5.10.226-1, 6.1.119-1, 6.1.123-1, 6.12.11-1, or 6.12.12-1.

3

What versions of the Linux kernel are affected by CVE-2024-46850?

CVE-2024-46850 affects Linux kernel versions from 6.7 to 6.10.11, and the release candidates from 6.11-rc1 to 6.11-rc7.

4

What components are involved in CVE-2024-46850?

CVE-2024-46850 involves the DRM (Direct Rendering Manager) in the AMD display subsystem of the Linux kernel.

5

Is CVE-2024-46850 a user-exploitable vulnerability?

CVE-2024-46850 could potentially be exploited under certain conditions, affecting the stability of the display system.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203