Executive brief
The Linux kernel's AMD Radeon GPU driver contains a memory leak in its GPU reset handling code. When a GPU reset operation fails at a specific lock stage, allocated memory is not properly freed, causing cumulative memory exhaustion during repeated reset attempts. This can degrade system stability and availability.
Technical details
The vulnerability is a classic resource leak in the radeon_ring_restore() function within the DRM (Direct Rendering Manager) subsystem. The function takes ownership of a data buffer allocated by radeon_ring_backup() during GPU reset operations. When radeon_ring_lock() fails, the function returns early without calling kvfree(data), leaking the ring backup buffer. Repeated GPU resets that fail at the lock stage cause cumulative kernel memory exhaustion. The fix adds a kvfree(data) call before the error return path. This is a local kernel memory leak triggered during GPU error recovery paths.
Affected products
- Linux Linux Kernel Multiple versions via stable branches (linux-5.x, linux-6.x, linux-7.x and earlier)
Timeline
- 2026-08-15: disclosed
- 2026-04-16: patched: Original commit by Yuho Choi
- 2026-07-24: other: Included in stable kernel releases