---
id: CVE-2026-89941
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  iio: buffer: Make IIO DMA fence release RCU-safe

  The `dma_fence` documentation states that if a custom release
  implementation is provided, the `dma_fence` object must …
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  iio: buffer: Make IIO DMA fence release RCU-safe

  The `dma_fence` documentation states that if a custom release
  implementation is provided, the `dma_fence` object must …
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 3e26d9f08fbe0b73e951a5e810fdb7a332b7e37f <
    311595dc0b5621f74d8eb4dc38ef4efcdfe7e769
  - >-
    Linux >= 3e26d9f08fbe0b73e951a5e810fdb7a332b7e37f <
    06a9460b8b792e109cbc934a856d02e5cff217ef
  - >-
    Linux >= 3e26d9f08fbe0b73e951a5e810fdb7a332b7e37f <
    11cef99491117d4264603df159c4ff5f3845a059
  - >-
    Linux >= 3e26d9f08fbe0b73e951a5e810fdb7a332b7e37f <
    8662e56c31cf23b61ca3d11b516efb94c35b8026
  - Linux 6.11
published: '2026-09-16'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T15:18:19.457'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89941'
references:
  - url: 'https://git.kernel.org/stable/c/06a9460b8b792e109cbc934a856d02e5cff217ef'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/11cef99491117d4264603df159c4ff5f3845a059'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/311595dc0b5621f74d8eb4dc38ef4efcdfe7e769'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/8662e56c31cf23b61ca3d11b516efb94c35b8026'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-16T10:53:53.966Z'
epss: 0.00159
epssPercentile: 0.05447
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

iio: buffer: Make IIO DMA fence release RCU-safe

The `dma_fence` documentation states that if a custom release
implementation is provided, the `dma_fence` object must be freed in an
RCU-safe way. The current `iio_dma_fence` implementation uses `kfree()`,
which might result in a use-after-free.

Remove the custom `release` implementation. This makes the DMA fence core
fall back to `dma_fence_free()`, which calls `kfree_rcu()` on the fence.
This requires that the fence be the first member of `struct iio_dma_fence`.

Using the default release method for extended DMA fence structures is a
common pattern.

## Remediation

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