CVE-2026-74416: drm/radeon: fix memory leak in radeon_ring_restore() on lock failure
In the Linux kernel, the following vulnerability has been resolved:
drm/radeon: fix memory leak in radeonringrestore() on lock failure
radeonringrestore() takes ownership of the data buffer allocated by radeonringbackup(). The caller (radeongpureset()) only frees it in the non-restore branch; in the restore branch it relies on radeonringrestore() to free it.
If radeonringlock() fails, the function returned early without calling kvfree(data), leaking the ring backup buffer on every GPU reset that fails at the lock stage. During repeated GPU resets this causes cumulative kernel memory exhaustion.
Free data before returning the error.
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Update the Linux kernel DRM Radeon code so that radeon_ring_restore() frees the ring backup buffer (data) when radeon_ring_lock() fails, preventing cumulative kernel memory exhaustion during repeated GPU resets.
Linux kernel drm/radeon Fix memory leak in radeon_ring_restore() on lock failure = Apply upstream patch that adds missing kvfree(data)/frees ring backup buffer on radeon_ring_lock() failure