CVE-2026-98592
Description
In the Linux kernel, the following vulnerability has been resolved: net: spacemit: clear TX descriptor on fragment mapping failure emac_tx_mem_map() writes TX_DESC_0_OWN into the ring descriptor for every slot beyond old_head as soon as that slot's memset()'d local copy is committed with "*tx_desc_addr = tx_desc", i.e. before the buffers for that slot have necessarily all been mapped successfully. If emac_tx_map_frag() then fails on a later fragment, the err_free_skb path calls emac_free_tx_buf() to unmap and drop the skb, but leaves the already-written descriptor memory untouched, and tx_ring->head is never advanced past old_head (the "tx_ring->head = head" store is skipped by the goto). So a slot between old_head and the rolled-back head can be left with TX_DESC_0_OWN set and buffer_addr_{1,2} pointing at DMA mappings that emac_free_tx_buf() just tore down, while software considers that slot free again. The next successful emac_tx_mem_map() call only rebuilds old_head itself; if the DMA engine auto-advances into the following descriptor once it finishes old_head's packet, it will fetch that stale, already-unmapped address. emac_tx_clean_desc() already treats emac_free_tx_buf() and clearing the descriptor as a pair when reclaiming completed descriptors; do the same in the mapping failure path.
How to fix
- Linux Linuxca9986cc824f2feb79b4a83e5f6f4c24c2140448, 3001a103a367c6051c43aff363b6979c10e65347, 2d14720beb58870b15a52b236c3ab0be0e06e915 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | bfec6d7f2001c7470c3cd261ae65a3ba8737f226 ≤ v < ca9986cc824f2feb79b4a83e5f6f4c24c2140448, bfec6d7f2001c7470c3cd261ae65a3ba8737f226 ≤ v < 3001a103a367c6051c43aff363b6979c10e65347, bfec6d7f2001c7470c3cd261ae65a3ba8737f226 ≤ v < 2d14720beb58870b15a52b236c3ab0be0e06e915, 6.18 | ca9986cc824f2feb79b4a83e5f6f4c24c2140448, 3001a103a367c6051c43aff363b6979c10e65347, 2d14720beb58870b15a52b236c3ab0be0e06e915 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.