Executive brief
The Linux kernel's GPU memory management subsystem (DRM TTM) has a resource leak in its swapout mechanism. When moving graphics memory to system RAM fails, a memory resource is not properly freed, causing a gradual loss of available memory that can eventually degrade system performance or cause out-of-memory conditions.
Technical details
This is a resource leak vulnerability in the DRM TTM (Translation Table Manager) buffer object swapout code. The vulnerability occurs in ttm_bo_swapout() when ttm_bo_handle_move_mem() fails to move a buffer object to system memory for eviction. The code path fails to call ttm_resource_free() to clean up the allocated evict_mem resource before exiting, leaving the resource permanently unavailable. The fix is a single-line addition to free the resource on error. The vulnerability affects Linux kernel v5.14 and later and requires no special preconditions—it triggers on normal GPU memory pressure scenarios that fail to complete.
Affected products
- Linux Linux Kernel v5.14 and later
Timeline
- 2023-06-26: disclosed
- 2023-06-27: patched