{"id":"CVE-2026-89816","revision":"77113730aa98464fb515b72ff7ff6981","records":[{"revision":"77113730aa98464fb515b72ff7ff6981","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-89816","aliases":[],"title":"drm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used\n\nCommit 1c6ceeee6ebb (\"drm/atomic: Fix memleak on ERESTARTSYS during\nnon-blocking commits\") fixed a very similar issue when the event was\nallocated by drm_atomic_helper_setup_commit() itself.\n\nHowever, if the event is allocated in prepare_signaling(), it will also be\nset to NULL in complete_signaling(), which prevents drm_crtc_commit from\nbeing put in __drm_atomic_helper_crtc_destroy_state().\n\nDropping the reference when the event is set to NULL at\ncomplete_signaling() fixes the leak.\n\nThe leak can be reproduced by sending a signal to the thread using\nDRM_MODE_PAGE_FLIP_EVENT and using a sw_sync fence to cause the atomic\nioctl to block at drm_atomic_helper_wait_for_fences(). It happened both\nwith amdgpu and vkms.","state":0,"publishedAt":"2026-09-16T10:30:49.052+00:00","modifiedAt":"2026-10-19T08:53:10.436+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/gpu/drm/drm_atomic_uapi.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"24835e442f289813aa568d142a755672a740503c\",\n                            \"lessThan\": \"c5517b71101f61a45144e3cf77a19626355272de\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"24835e442f289813aa568d142a755672a740503c\",\n                            \"lessThan\": \"866a04137dac7e82a3848851061ff7ed15c2847e\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"24835e442f289813aa568d142a755672a740503c\",\n                            \"lessThan\": \"6a6a7aae4681a20cd32789fea9a487aaafa0e7a3\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"24835e442f289813aa568d142a755672a740503c\",\n                            \"lessThan\": \"e2f27b5ed9084feb7bae9ef2bc80de37c92280b1\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"24835e442f289813aa568d142a755672a740503c\",\n                            \"lessThan\": \"ff73f5f43d032c3da3c534c517f661e8dfeb358a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"24835e442f289813aa568d142a755672a740503c\",\n                            \"lessThan\": \"66b1b309886337745d395bbc158440ab196305ce\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"24835e442f289813aa568d142a755672a740503c\",\n                            \"lessThan\": \"e6195b941fdc8d81fc431c9f25539cf6c6234b51\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"24835e442f289813aa568d142a755672a740503c\",\n                            \"lessThan\": \"4d4be202165e832d74849b4a68e289a2a377039c\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"c75fe7899538890109aad7bbf92b2f304389e825\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"2a3241044b1c4ecc13f73b7158881881fb7534a1\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4.9.19\",\n                            \"lessThan\": \"4.10\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"4.10.7\",\n                            \"lessThan\": \"4.11\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/gpu/drm/drm_atomic_uapi.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4.11\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"4.11\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.270\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.221\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.188\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.157\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.110\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.51\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.5\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/c5517b71101f61a45144e3cf77a19626355272de","https://git.kernel.org/stable/c/866a04137dac7e82a3848851061ff7ed15c2847e","https://git.kernel.org/stable/c/6a6a7aae4681a20cd32789fea9a487aaafa0e7a3","https://git.kernel.org/stable/c/e2f27b5ed9084feb7bae9ef2bc80de37c92280b1","https://git.kernel.org/stable/c/ff73f5f43d032c3da3c534c517f661e8dfeb358a","https://git.kernel.org/stable/c/66b1b309886337745d395bbc158440ab196305ce","https://git.kernel.org/stable/c/e6195b941fdc8d81fc431c9f25539cf6c6234b51","https://git.kernel.org/stable/c/4d4be202165e832d74849b4a68e289a2a377039c"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-89816","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-89816","identifiers":["CVE-2026-89816"]},"retained":false,"historicalAffected":[]}],"coverage":[]}