PT-2026-116811 · Linux · Linux

CVE-2026-98592

·

Published

2026-10-18

·

Updated

2026-10-18

None

No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
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.
Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

CVE-2026-98592

Affected Products

Linux