Description · from the CVE record
In the Linux kernel, the following vulnerability has been resolved:
net: ethernet: cortina: Carry over frag counter
The gmac_rx() NAPI poll function assembles packets in an
SKB from a ring buffer.
If the ring buffer gets completely emptied during a poll cycle,
we exit gmac_rx(), but the packet is not yet completely
assembled in the SKB, yet the fragment counter frag_nr is
reset to zero on the next invocation.
Solve this by making the RX fragment counter a part of the
port struct, and carry it over between invocations.
Reset the fragment counter only right after calling
napi_gro_frags(), on error (after calling napi_free_frags())
or if stopping the port.
Reset it in some place where not strictly necessary just to
emphasize what is going on.
This was found by Sashiko during normal patch review.
Affected
ProductAffectedFixed inSource
Linux4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 – < df31e3b64455293df1ea89c7da7d5c9bfbcdd253df31e3b64455293df1ea89c7da7d5c9bfbcdd253CNA
Linux4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 – < 7af1fabdee744b7995fe01b30b77dfc397657cb57af1fabdee744b7995fe01b30b77dfc397657cb5CNA
Linux4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 – < 75105fcf73f1ce7d9f769aaefec6e6d6645d5ac075105fcf73f1ce7d9f769aaefec6e6d6645d5ac0CNA
Linux4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 – < 78cf08b3be47c28f07008a76c932bad7cdffa9d878cf08b3be47c28f07008a76c932bad7cdffa9d8CNA
Linux4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 – < 7123cf481e21b54eb6adc4cb0d8dc2876aeaee417123cf481e21b54eb6adc4cb0d8dc2876aeaee41CNA
Linux4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 – < c373b34877afea61c89e0dd2e38948c624249b9bc373b34877afea61c89e0dd2e38948c624249b9bCNA
Linux4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 – < 46806096f35b8d3dfa2f321ddd77f597edcdb85f46806096f35b8d3dfa2f321ddd77f597edcdb85fCNA
Linux4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 – < ebd8ec2b309e3a447851b456ccaf8fb39f3661e7ebd8ec2b309e3a447851b456ccaf8fb39f3661e7CNA
Linux4.16–CNA