Linux: net: ethernet: oa_tc6: Improve the error recovery
What fixes it
- 9d3f6e714d5f8b728837f31bbe865b64cfd3216aLinuxCVE List
- 172c974113bffe5723b80b1acac17593bb50513cLinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
net: ethernet: oa_tc6: 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 end_valid bit set, before it runs out of sk buffer space. As a result, assert is seen during skb_put.
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 start_valid bit, that is a new frame.
SK buffer allocation error is considered as recoverable error.
rx_buf_overflow flag is too specific and no longer the only condition this flag is used for. Therefore it is renamed as wait_until_start_valid. 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.
Text from CVE List
Affected versions 10
- Linuxaffected: d70a0d8f2f2d1b9bb6e3e9dfed25ae3ca3303770 before d33003e752f25c385f2cf21964123582a44f6818CVE List
- Linuxaffected: d70a0d8f2f2d1b9bb6e3e9dfed25ae3ca3303770 before 9d3f6e714d5f8b728837f31bbe865b64cfd3216aCVE List
- Linuxaffected: d70a0d8f2f2d1b9bb6e3e9dfed25ae3ca3303770 before b89770d493749d7c3b8649996e1089719b4eff8dCVE List
- Linuxaffected: d70a0d8f2f2d1b9bb6e3e9dfed25ae3ca3303770 before 172c974113bffe5723b80b1acac17593bb50513cCVE List
- Linuxaffected: 6.12CVE List
- Linuxunaffected: all versions before 6.12CVE List
- Linuxunaffected: 6.12.111 through 6.12.*CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2.7 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 4
- git.kernel.org/stable/c/d33003e752f25c385f2cf21964123582a44f6818Referencevia CVE List
- git.kernel.org/stable/c/9d3f6e714d5f8b728837f31bbe865b64cfd3216aReferencevia CVE List
- git.kernel.org/stable/c/b89770d493749d7c3b8649996e1089719b4eff8dReferencevia CVE List
- git.kernel.org/stable/c/172c974113bffe5723b80b1acac17593bb50513cReferencevia CVE List