CVE Catalog

CVE-2026-89995

HighCVSS 8.8
Published: Updated: Translated: NVD NIST

Summary

In the Linux kernel, dma_direct_alloc_from_pool() returns a CPU address instead of a struct page *, which does not match the expectations of dma_direct_alloc_pages(). The bug was introduced by commit 5b138c534fda and can lead to incorrect behavior or a crash.

Risk Assessment

The bug can cause incorrect DMA subsystem behavior and kernel crashes on systems using dma-direct, resulting in denial of service.

Recommendation

Update the Linux kernel to a version containing the fix that restores dma_direct_alloc_from_pool() returning struct page * and passes the CPU address back through an out-parameter.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS