Description
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.
Product status
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before a88b3293b556f4d8fba11db9a8061a6b0d3b69e6
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before a03cdcedb2cbcc42551dc3e4746929e93c5352d5
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before 580f92f27cb8724bcc4be98ee89890eab524a2ae
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before d0c8c4fbd22d260fe28530260656c5fb3c20ce84
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before 8a2126c5afe89f8ceeb60a3afb9f075b736194cd
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before 02e1b5c4d3b4c658b72c145427cded1bba613fc1
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before 5e8e2a9624df72fca7c736b2966b2cbf6c9c3ff6
95a936364f2685e9e040c6b179b553604d96de22 (git)
fba2cf348d9eb50b2049a73cc09313dab6d293f1 (git)
5.7.15 (semver) before 5.8
5.8.2 (semver) before 5.9
5.9
Any version before 5.9
5.15.210 (semver)
6.1.176 (semver)
6.6.143 (semver)
6.12.94 (semver)
6.18.36 (semver)
7.0.13 (semver)
7.1 (original_commit_for_fix)
References
git.kernel.org/...c/a88b3293b556f4d8fba11db9a8061a6b0d3b69e6
git.kernel.org/...c/a03cdcedb2cbcc42551dc3e4746929e93c5352d5
git.kernel.org/...c/580f92f27cb8724bcc4be98ee89890eab524a2ae
git.kernel.org/...c/d0c8c4fbd22d260fe28530260656c5fb3c20ce84
git.kernel.org/...c/8a2126c5afe89f8ceeb60a3afb9f075b736194cd
git.kernel.org/...c/02e1b5c4d3b4c658b72c145427cded1bba613fc1
git.kernel.org/...c/5e8e2a9624df72fca7c736b2966b2cbf6c9c3ff6