CVE-2026-89816
Description
In the Linux kernel, the following vulnerability has been resolved: drm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used Commit 1c6ceeee6ebb ("drm/atomic: Fix memleak on ERESTARTSYS during non-blocking commits") fixed a very similar issue when the event was allocated by drm_atomic_helper_setup_commit() itself. However, if the event is allocated in prepare_signaling(), it will also be set to NULL in complete_signaling(), which prevents drm_crtc_commit from being put in __drm_atomic_helper_crtc_destroy_state(). Dropping the reference when the event is set to NULL at complete_signaling() fixes the leak. The leak can be reproduced by sending a signal to the thread using DRM_MODE_PAGE_FLIP_EVENT and using a sw_sync fence to cause the atomic ioctl to block at drm_atomic_helper_wait_for_fences(). It happened both with amdgpu and vkms.
References
- https://git.kernel.org/stable/c/4d4be202165e832d74849b4a68e289a2a377039c
- https://git.kernel.org/stable/c/66b1b309886337745d395bbc158440ab196305ce
- https://git.kernel.org/stable/c/6a6a7aae4681a20cd32789fea9a487aaafa0e7a3
- https://git.kernel.org/stable/c/866a04137dac7e82a3848851061ff7ed15c2847e
- https://git.kernel.org/stable/c/c5517b71101f61a45144e3cf77a19626355272de