CVE-2024-57921: drm/amdgpu: Add a lock when accessing the buddy trim function
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: Add a lock when accessing the buddy trim function
When running YouTube videos and Steam games simultaneously, the tester found a system hang / race condition issue with the multi-display configuration setting. Adding a lock to the buddy allocator's trim function would be the solution.
<log snip> [ 7197.250436] general protection fault, probably for non-canonical address 0xdead000000000108 [ 7197.250447] RIP: 0010:allocrange+0x8b/0x340 [amddrmbuddy] [ 7197.250470] Call Trace: [ 7197.250472] <TASK> [ 7197.250475] ? showregs+0x6d/0x80 [ 7197.250481] ? dieaddr+0x37/0xa0 [ 7197.250483] ? excgeneralprotection+0x1db/0x480 [ 7197.250488] ? drmsuballocnew+0x13c/0x93d [drmsuballochelper] [ 7197.250493] ? asmexcgeneralprotection+0x27/0x30 [ 7197.250498] ? allocrange+0x8b/0x340 [amddrmbuddy] [ 7197.250501] ? allocrange+0x109/0x340 [amddrmbuddy] [ 7197.250506] amddrmbuddyblocktrim+0x1b5/0x260 [amddrmbuddy] [ 7197.250511] amdgpuvrammgrnew+0x4f5/0x590 [amdgpu] [ 7197.250682] amdttmresourcealloc+0x46/0xb0 [amdttm] [ 7197.250689] ttmboallocresource+0xe4/0x370 [amdttm] [ 7197.250696] amdttmbovalidate+0x9d/0x180 [amdttm] [ 7197.250701] amdgpubopin+0x15a/0x2f0 [amdgpu] [ 7197.250831] amdgpudmplanehelperpreparefb+0xb2/0x360 [amdgpu] [ 7197.251025] ? trywaitforcompletion+0x59/0x70 [ 7197.251030] drmatomichelperprepareplanes.part.0+0x2f/0x1e0 [ 7197.251035] drmatomichelperprepareplanes+0x5d/0x70 [ 7197.251037] drmatomichelpercommit+0x84/0x160 [ 7197.251040] drmatomicnonblockingcommit+0x59/0x70 [ 7197.251043] drmmodeatomicioctl+0x720/0x850 [ 7197.251047] ? pfxdrmmodeatomicioctl+0x10/0x10 [ 7197.251049] drmioctlkernel+0xb9/0x120 [ 7197.251053] ? srsoaliasreturnthunk+0x5/0xfbef5 [ 7197.251056] drmioctl+0x2d4/0x550 [ 7197.251058] ? pfxdrmmodeatomicioctl+0x10/0x10 [ 7197.251063] amdgpudrmioctl+0x4e/0x90 [amdgpu] [ 7197.251186] x64sysioctl+0xa0/0xf0 [ 7197.251190] x64syscall+0x143b/0x25c0 [ 7197.251193] dosyscall64+0x7f/0x180 [ 7197.251197] ? srsoaliasreturnthunk+0x5/0xfbef5 [ 7197.251199] ? amdgpudisplayuserframebuffercreate+0x215/0x320 [amdgpu] [ 7197.251329] ? drminternalframebuffercreate+0xb7/0x1a0 [ 7197.251332] ? srsoaliasreturnthunk+0x5/0xfbef5
(cherry picked from commit 3318ba94e56b9183d0304577c74b33b6b01ce516)
Other sources
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto 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.27-1 - Compensating control
Mitigate by avoiding simultaneous YouTube video playback and Steam game execution on multi-display configurations, since the hang/race condition was triggered when running these simultaneously.
Event History
Frequently Asked Questions
What is the severity of CVE-2024-57921?
CVE-2024-57921 has a medium severity rating due to potential system hangs and race conditions.
How do I fix CVE-2024-57921?
To fix CVE-2024-57921, update your Linux kernel to the latest version where this vulnerability is resolved.
What types of systems are impacted by CVE-2024-57921?
CVE-2024-57921 affects systems running the Linux kernel, particularly those using the amdgpu driver with multi-display configurations.
What are the symptoms of CVE-2024-57921?
Symptoms of CVE-2024-57921 include system hangs and race conditions when running demanding applications like YouTube and Steam games simultaneously.
Is CVE-2024-57921 related to graphical performance issues?
Yes, CVE-2024-57921 is related to graphical performance issues under certain conditions in multi-display setups.