CVE-2026-72474
N/A
Summary
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 3f8fd25936ee5f52596f10d420f650c5b5e3285f < a4f41ceecfe68e117bae9c76c5ebc5e2b353fa56 | affected |
| Linux | Linux | 3f8fd25936ee5f52596f10d420f650c5b5e3285f < c0e6bb2b0408fcac6382158ee2bd9fdc45eceee9 | affected |
| Linux | Linux | 3f8fd25936ee5f52596f10d420f650c5b5e3285f < 65e82fa24965b2eb6ad9412f6c530ed9a50a625f | affected |
| Linux | Linux | 3f8fd25936ee5f52596f10d420f650c5b5e3285f < 9e942c8579130e62734c14338e9f451780669164 | affected |
| Linux | Linux | 6.8 | affected |
| Linux | Linux | 0 < 6.8 | unaffected |
| Linux | Linux | 6.12.97 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.40 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.5 <= 7.1.* | unaffected |
| Linux | Linux | 7.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/a4f41ceecfe68e117bae9c76c5ebc5e2b353fa56
- https://git.kernel.org/stable/c/c0e6bb2b0408fcac6382158ee2bd9fdc45eceee9
- https://git.kernel.org/stable/c/65e82fa24965b2eb6ad9412f6c530ed9a50a625f
- https://git.kernel.org/stable/c/9e942c8579130e62734c14338e9f451780669164
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.