Description
In the Linux kernel, the following vulnerability has been resolved: net: bcmasp: clear txcb->last before writing each descriptor bcmasp_xmit() only wrote txcb->last = true for the final fragment of an SKB; non-final fragments left the field untouched. If a descriptor slot was reused while it still held a stale true from a previous SKB (possible when tx_spb_ring_full() underreported fullness), bcmasp_tx_reclaim() would see last == true mid-SKB and call dev_consume_skb_any() prematurely, freeing the sk_buff while its remaining fragments were still in flight. Unconditionally clear txcb->last before the conditional set so every descriptor slot starts from a known false state regardless of what a prior transmission left behind.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
490cb412007de593e07c1d3e2b1ec4233886707c to < 1e213ba7cb3b9dd97ac2e0a1054e6d0d1d91f5bcaffected490cb412007de593e07c1d3e2b1ec4233886707c to < 9b26b54861ce05307d39a54ddedddf8747419614affected490cb412007de593e07c1d3e2b1ec4233886707c to < 47a5cecca925ceb175d5adf712e667acf78f475faffected490cb412007de593e07c1d3e2b1ec4233886707c to < 17e6ad484dea5ddf1c4a3d6ec77a5929161234deaffected490cb412007de593e07c1d3e2b1ec4233886707c to < 18e5e0ec0e9282c897e2aa81a3e43ccaee03b003affected
Linux Linux
Default version status: affected
6.6affected0 to < 6.6unaffected6.6.158 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/1e213ba7cb3b9dd97ac2e0a1054e6d0d1d91f5bc ↗
- https://git.kernel.org/stable/c/9b26b54861ce05307d39a54ddedddf8747419614 ↗
- https://git.kernel.org/stable/c/47a5cecca925ceb175d5adf712e667acf78f475f ↗
- https://git.kernel.org/stable/c/17e6ad484dea5ddf1c4a3d6ec77a5929161234de ↗
- https://git.kernel.org/stable/c/18e5e0ec0e9282c897e2aa81a3e43ccaee03b003 ↗