GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

GHSA-X3WP-GMCJ-4WM5

Vulnerability from github – Published: 2026-08-15 06:32 – Updated: 2026-08-15 06:32
VLAI
Details

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

dmaengine: dma-axi-dmac: use DMA pool to manange DMA descriptor

For architectures like Microblaze or arm64 (where this IP is used), DMA_DIRECT_REMAP is set which means that dma_alloc_coherent() might remap (and hence vmalloc()) some memory. This became visible in a design where dma_direct_use_pool() is not possible.

With the above, when calling dma_free_coherent(), vunmap() would be called from softirq context and thus leading to a BUG().

To fix it, use a dma pool that is allocated in .device_alloc_chan_resources() and allocate blocks from it. The key point is that now dma_pool_free() is used in axi_dmac_free_desc() to free the blocks and that just frees the blocks from the pool in the sense they can be used again. In other words, no actual call to dma_free_coherent() happens. That only happens when destroying the pool in axi_dmac_free_chan_resources() which does not happen in any interrupt context.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2026-72474"
  ],
  "database_specific": {
    "cwe_ids": [],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2026-08-15T06:22:21Z",
    "severity": null
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\ndmaengine: dma-axi-dmac: use DMA pool to manange DMA descriptor\n\nFor architectures like Microblaze or arm64 (where this IP is used),\nDMA_DIRECT_REMAP is set which means that dma_alloc_coherent() might\nremap (and hence vmalloc()) some memory. This became visible in a design\nwhere dma_direct_use_pool() is not possible.\n\nWith the above, when calling dma_free_coherent(), vunmap() would be\ncalled from softirq context and thus leading to a BUG().\n\nTo fix it, use a dma pool that is allocated in\n.device_alloc_chan_resources() and allocate blocks from it. The key\npoint is that now dma_pool_free() is used in axi_dmac_free_desc() to\nfree the blocks and that just frees the blocks from the pool in the\nsense they can be used again. In other words, no actual call to\ndma_free_coherent() happens. That only happens when destroying the pool\nin axi_dmac_free_chan_resources() which does not happen in any interrupt\ncontext.",
  "id": "GHSA-x3wp-gmcj-4wm5",
  "modified": "2026-08-15T06:32:26Z",
  "published": "2026-08-15T06:32:25Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-72474"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/65e82fa24965b2eb6ad9412f6c530ed9a50a625f"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/9e942c8579130e62734c14338e9f451780669164"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/a4f41ceecfe68e117bae9c76c5ebc5e2b353fa56"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/c0e6bb2b0408fcac6382158ee2bd9fdc45eceee9"
    }
  ],
  "schema_version": "1.4.0",
  "severity": []
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…