Description · from the CVE record
In the Linux kernel, the following vulnerability has been resolved:
net: mvpp2: refill RX buffers before XDP or skb use
The RX error path returns the current descriptor buffer to the hardware
BM pool. That is only valid while the driver still owns the buffer.
mvpp2_rx_refill() can fail after the current buffer has been handed to
XDP or attached to an skb. In those cases mvpp2_run_xdp() may have
recycled, redirected, or queued the page for XDP_TX, and an skb free also
retires the data buffer. Returning such a buffer to BM lets hardware DMA
into memory that is no longer owned by the RX ring.
Refill the BM pool before handing the current buffer to XDP or to the
skb. If the allocation fails there, drop the packet and return the
still-owned current buffer to BM, preserving the pool depth. Once the
refill succeeds, later local drops retire/free the current buffer instead
of returning it to BM.
Affected
ProductAffectedFixed inSource
Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – < a88b3293b556f4d8fba11db9a8061a6b0d3b69e6a88b3293b556f4d8fba11db9a8061a6b0d3b69e6CNA
Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – < a03cdcedb2cbcc42551dc3e4746929e93c5352d5a03cdcedb2cbcc42551dc3e4746929e93c5352d5CNA
Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – < 580f92f27cb8724bcc4be98ee89890eab524a2ae580f92f27cb8724bcc4be98ee89890eab524a2aeCNA
Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – < d0c8c4fbd22d260fe28530260656c5fb3c20ce84d0c8c4fbd22d260fe28530260656c5fb3c20ce84CNA
Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – < 8a2126c5afe89f8ceeb60a3afb9f075b736194cd8a2126c5afe89f8ceeb60a3afb9f075b736194cdCNA
Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – < 02e1b5c4d3b4c658b72c145427cded1bba613fc102e1b5c4d3b4c658b72c145427cded1bba613fc1CNA
Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – < 5e8e2a9624df72fca7c736b2966b2cbf6c9c3ff65e8e2a9624df72fca7c736b2966b2cbf6c9c3ff6CNA
Linux95a936364f2685e9e040c6b179b553604d96de22–CNA
Linuxfba2cf348d9eb50b2049a73cc09313dab6d293f1–CNA
Linux5.7.15 – < 5.85.8CNA
Linux5.8.2 – < 5.95.9CNA
Linux5.95.15.210CNA