CVE-2026-93176: drm/amd/display: Fix dangling pointer in plane reset function
In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: Fix dangling pointer in plane reset function
amdgpudmplanedrmplanereset() frees the old state before allocating a new one. If kzalloc() fails, the function returns without updating the state pointer, leaving a dangling pointer to already freed memory.
Fix this by allocating the new state first. On allocation failure, the old state remains untouched and the function safely returns.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
[adjust for movement around current amd-staging-drm-next]
Affected Software
Event History
Frequently Asked Questions
Under what runtime condition could the stale state pointer be left behind before the fix?
The issue occurs when amdgpu_dm_plane_drm_plane_reset() attempts to allocate a replacement state and kzalloc() fails. Previously, the function had already freed the old state but had not updated the state pointer.
What happens if replacement-state allocation fails with the fix applied?
The new state is allocated before the old state is freed. If allocation fails, the existing state remains untouched and the function returns safely.