CVE-2026-98105: net: ethernet: oa_tc6: Improve the error recovery
In the Linux kernel, the following vulnerability has been resolved:
net: ethernet: oatc6: Improve the error recovery
When oversubscribed traffic causes lot of buffer overflow errors, probably due to loss of data chunks, driver fails to find a data chunk with endvalid bit set, before it runs out of sk buffer space. As a result, assert is seen during skbput.
Now, check is made if skb buffer has enough tailroom for the incoming data before accepting. If there is no room, current frame is abandoned and it will start looking for a data chunk with startvalid bit, that is a new frame.
SK buffer allocation error is considered as recoverable error.
rxbufoverflow flag is too specific and no longer the only condition this flag is used for. Therefore it is renamed as waituntilstartvalid. This is more appropriate as this flag is used to look for the next data chunk with SV bit set, after failures like buffer overflow, buffer allocation failure, skb pointer validity besides buffer overflow error.
Not writing to status0 if it reads 0.
Affected Software
Event History
Frequently Asked Questions
What conditions can trigger the failure?
The issue occurs when oversubscribed traffic produces many buffer-overflow errors, potentially involving lost data chunks. The driver can then fail to find a chunk marked with end_valid before exhausting skb buffer space, leading to an assertion during skb_put.
What does the fix do when receive-buffer recovery fails?
The updated driver verifies that the skb has sufficient tailroom before accepting incoming data. If there is insufficient room, it abandons the current frame and waits for a chunk marked start_valid to begin processing a new frame; skb allocation failures are also treated as recoverable.
How can I tell whether this issue may be occurring on a system?
A relevant symptom is an assertion during skb_put in the oa_tc6 Ethernet driver under heavy or oversubscribed traffic accompanied by buffer-overflow errors. The provided information does not identify affected kernel versions or additional detection indicators.