On Mon, 28 Dec 2020 13:47:40 +0100 Greg Kroah-Hartman wrote:
From: Björn Töpel bjorn.topel@intel.com
[ Upstream commit 8d14768a7972b92c73259f0c9c45b969d85e3a60 ]
On the Rx side, the next_to_use index points to the next item in the HW ring to be refilled/allocated, and next_to_clean points to the next item to potentially be processed.
When the HW Rx ring is fully refilled, i.e. no packets has been processed, the next_to_use will be next_to_clean - 1. When the ring is fully processed next_to_clean will be equal to next_to_use. The latter case is where a bug is triggered.
If the next_to_use bits are not cleared, and the "fully processed" state is entered, a stale descriptor can be processed.
The skb-path correctly clear the status bit for the next_to_use descriptor, but the AF_XDP zero-copy path did not do that.
This change adds the status bits clearing of the next_to_use descriptor.
Fixes: 2d4238f55697 ("ice: Add support for AF_XDP") Signed-off-by: Björn Töpel bjorn.topel@intel.com Signed-off-by: Jakub Kicinski kuba@kernel.org Signed-off-by: Sasha Levin sashal@kernel.org
Oh wow, so much for Sasha waiting longer for code to get tested before auto-pulling things into stable :/
I have this change and other changes here queued, but haven't sent the submission yet.
How long is the auto-backporting delay in terms of calendar days?