{"id":"CVE-2026-72474","state":"PUBLISHED","title":"dmaengine: dma-axi-dmac: use DMA pool to manange DMA descriptor","description":"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.","publishedAt":"2026-08-15T05:57:15.073Z","updatedAt":"2026-08-17T05:15:23.275Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3f8fd25936ee5f52596f10d420f650c5b5e3285f","status":"affected","lessThan":"a4f41ceecfe68e117bae9c76c5ebc5e2b353fa56","versionType":"git"},{"version":"3f8fd25936ee5f52596f10d420f650c5b5e3285f","status":"affected","lessThan":"c0e6bb2b0408fcac6382158ee2bd9fdc45eceee9","versionType":"git"},{"version":"3f8fd25936ee5f52596f10d420f650c5b5e3285f","status":"affected","lessThan":"65e82fa24965b2eb6ad9412f6c530ed9a50a625f","versionType":"git"},{"version":"3f8fd25936ee5f52596f10d420f650c5b5e3285f","status":"affected","lessThan":"9e942c8579130e62734c14338e9f451780669164","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/dma/dma-axi-dmac.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.8","versionType":"semver"},{"version":"6.12.97","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/dma/dma-axi-dmac.c"]}],"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"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:58.252Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/72xxx/CVE-2026-72474.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-72474","state":"PUBLISHED","datePublished":"2026-08-15T05:57:15.073Z","dateUpdated":"2026-08-17T05:15:23.275Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-09T03:40:39.934Z"},"containers":{"cna":{"title":"dmaengine: dma-axi-dmac: use DMA pool to manange DMA descriptor","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3f8fd25936ee5f52596f10d420f650c5b5e3285f","status":"affected","lessThan":"a4f41ceecfe68e117bae9c76c5ebc5e2b353fa56","versionType":"git"},{"version":"3f8fd25936ee5f52596f10d420f650c5b5e3285f","status":"affected","lessThan":"c0e6bb2b0408fcac6382158ee2bd9fdc45eceee9","versionType":"git"},{"version":"3f8fd25936ee5f52596f10d420f650c5b5e3285f","status":"affected","lessThan":"65e82fa24965b2eb6ad9412f6c530ed9a50a625f","versionType":"git"},{"version":"3f8fd25936ee5f52596f10d420f650c5b5e3285f","status":"affected","lessThan":"9e942c8579130e62734c14338e9f451780669164","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/dma/dma-axi-dmac.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.8","versionType":"semver"},{"version":"6.12.97","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/dma/dma-axi-dmac.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/a4f41ceecfe68e117bae9c76c5ebc5e2b353fa56"},{"url":"https://git.kernel.org/stable/c/c0e6bb2b0408fcac6382158ee2bd9fdc45eceee9"},{"url":"https://git.kernel.org/stable/c/65e82fa24965b2eb6ad9412f6c530ed9a50a625f"},{"url":"https://git.kernel.org/stable/c/9e942c8579130e62734c14338e9f451780669164"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-17T05:15:23.275Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.8","versionEndExcluding":"6.12.97"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.8","versionEndExcluding":"6.18.40"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.8","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.8","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}