Answer in brief
CVE-2026-90387 records a High severity (CVSS 7.8) vulnerability in swiotlb: Preserve allocation virtual address for dynamic pools. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
CVSS is 7.8. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=79636caad3618e2b38457f6e298c9b31ba82b489 <68bf3ebd8e7020dae58e8aa14c7d482738bff9a8 || >=79636caad3618e2b38457f6e298c9b31ba82b489 <45507dcb0847e96add4455274b12df0eca6590b4 || >=79636caad3618e2b38457f6e298c9b31ba82b489 <35e0103177826430b5df888b1506239d41e76ab5 || >=79636caad3618e2b38457f6e298c9b31ba82b489 <c1f4d7763cdf1b9e0d35c14aa6f52d0512a36319 || >=79636caad3618e2b38457f6e298c9b31ba82b489 <57d29044d0f29a76c6ec0c112c8c7371d5608dc7 | 68bf3ebd8e7020dae58e8aa14c7d482738bff9a8, 45507dcb0847e96add4455274b12df0eca6590b4, 35e0103177826430b5df888b1506239d41e76ab5, c1f4d7763cdf1b9e0d35c14aa6f52d0512a36319, 57d29044d0f29a76c6ec0c112c8c7371d5608dc7 |
| Linux/Linuxgeneric | 6.6 | Not reported |
Published upstream
Sep 17, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Oct 19, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Sep 17, 2026
In the Linux kernel, the following vulnerability has been resolved: swiotlb: Preserve allocation virtual address for dynamic pools swiotlb_alloc_tlb() can allocate from the DMA atomic pool when a decrypted pool is needed from atomic context. With CONFIG_DMA_DIRECT_REMAP, the atomic pool is backed by remapped virtual addresses, which are not the same as the direct-map addresses returned by phys_to_virt(). swiotlb_init_io_tlb_pool() currently reconstructs the pool virtual address from the physical start address. For atomic-pool backed allocations this stores the wrong address in pool->vaddr. Later, swiotlb_free_tlb() passes that address to dma_free_from_pool(), which will fail to recognize the chunk Pass the virtual address returned by the allocation path into swiotlb_init_io_tlb_pool(), and store that address in pool->vaddr. This keeps the pool free path using the same virtual address as the allocator.
Quoted source text, attributed separately from HOL analysis.