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

  dma-direct: return struct page from dma_direct_alloc_from_pool()

  Commit 5b138c534fda ("dma-direct: factor out a dma_direct_alloc_from_pool
  helper") changed dma_direct_…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  dma-direct: return struct page from dma_direct_alloc_from_pool()

  Commit 5b138c534fda ("dma-direct: factor out a dma_direct_alloc_from_pool
  helper") changed dma_direct_…
severity: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 5b138c534fda57c2ebc1e6de72578aa1d70788a6 <
    c3fdb94da43ff23287f85664174c45c45e881a3f
  - >-
    Linux >= 5b138c534fda57c2ebc1e6de72578aa1d70788a6 <
    408ff2d5bf555bd3f4c84a2edb95c0690bf9edc8
  - >-
    Linux >= 5b138c534fda57c2ebc1e6de72578aa1d70788a6 <
    feeb2ef775081a6c188cdd10e7a45369a07ce531
  - >-
    Linux >= 5b138c534fda57c2ebc1e6de72578aa1d70788a6 <
    94a04ad732c9f8b9554270fc4038a06737de5c22
  - Linux 5.10
published: '2026-09-16'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T15:18:23.157'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89995'
references:
  - url: 'https://git.kernel.org/stable/c/408ff2d5bf555bd3f4c84a2edb95c0690bf9edc8'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/94a04ad732c9f8b9554270fc4038a06737de5c22'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c3fdb94da43ff23287f85664174c45c45e881a3f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/feeb2ef775081a6c188cdd10e7a45369a07ce531'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-16T10:53:53.946Z'
epss: 0.00379
epssPercentile: 0.29097
---

## Overview

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

dma-direct: return struct page from dma_direct_alloc_from_pool()

Commit 5b138c534fda ("dma-direct: factor out a dma_direct_alloc_from_pool
helper") changed dma_direct_alloc_from_pool() to return the CPU address
from dma_alloc_from_pool(). That fits dma_direct_alloc(), but
dma_direct_alloc_pages() also uses the helper and expects a struct page *.

Fix this by making dma_direct_alloc_from_pool() return the struct page *
again, and pass the CPU address back through an out-parameter for the
dma_direct_alloc() caller.

## Remediation

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