---
id: CVE-2026-89816
title: |-
  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…
summary: |-
  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…
severity: medium
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 24835e442f289813aa568d142a755672a740503c <
    c5517b71101f61a45144e3cf77a19626355272de
  - >-
    Linux >= 24835e442f289813aa568d142a755672a740503c <
    866a04137dac7e82a3848851061ff7ed15c2847e
  - >-
    Linux >= 24835e442f289813aa568d142a755672a740503c <
    6a6a7aae4681a20cd32789fea9a487aaafa0e7a3
  - >-
    Linux >= 24835e442f289813aa568d142a755672a740503c <
    e2f27b5ed9084feb7bae9ef2bc80de37c92280b1
  - >-
    Linux >= 24835e442f289813aa568d142a755672a740503c <
    ff73f5f43d032c3da3c534c517f661e8dfeb358a
  - >-
    Linux >= 24835e442f289813aa568d142a755672a740503c <
    66b1b309886337745d395bbc158440ab196305ce
  - >-
    Linux >= 24835e442f289813aa568d142a755672a740503c <
    e6195b941fdc8d81fc431c9f25539cf6c6234b51
  - >-
    Linux >= 24835e442f289813aa568d142a755672a740503c <
    4d4be202165e832d74849b4a68e289a2a377039c
  - Linux c75fe7899538890109aad7bbf92b2f304389e825
  - Linux 2a3241044b1c4ecc13f73b7158881881fb7534a1
  - Linux >= 4.9.19 < 4.10
  - Linux >= 4.10.7 < 4.11
  - Linux 4.11
published: '2026-09-16'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T11:16:46.837'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89816'
references:
  - url: 'https://git.kernel.org/stable/c/4d4be202165e832d74849b4a68e289a2a377039c'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/66b1b309886337745d395bbc158440ab196305ce'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6a6a7aae4681a20cd32789fea9a487aaafa0e7a3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/866a04137dac7e82a3848851061ff7ed15c2847e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c5517b71101f61a45144e3cf77a19626355272de'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e2f27b5ed9084feb7bae9ef2bc80de37c92280b1'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e6195b941fdc8d81fc431c9f25539cf6c6234b51'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/ff73f5f43d032c3da3c534c517f661e8dfeb358a'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89816.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-89816'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2535320'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-89816'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89816'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89816.mbox
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
ingestedAt: '2026-09-16T10:53:54.004Z'
epss: 0.0021
epssPercentile: 0.1001
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'
cvssSource: vendor
cwe:
  - CWE-911
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **Red Hat VEX** · Low · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · no fix planned: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, … · updated 2026-09-23 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89816.json)
