Re: [PATCH 5.10 462/717] ice, xsk: clear the status bits for the next_to_use descriptor

From: Sasha Levin
Date: Mon Dec 28 2020 - 17:58:07 EST


On Mon, Dec 28, 2020 at 10:54:23AM -0800, Jakub Kicinski wrote:
On Mon, 28 Dec 2020 13:47:40 +0100 Greg Kroah-Hartman wrote:
From: Björn Töpel <bjorn.topel@xxxxxxxxx>

[ 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@xxxxxxxxx>
Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

Oh wow, so much for Sasha waiting longer for code to get tested before
auto-pulling things into stable :/

The timeline is usually for a commit to appear in a release, and it did.
Was it too early?

I have this change and other changes here queued, but haven't sent the
submission yet.

What do you mean with "queued"? Its in Linus's tree for about two weeks
now.

How long is the auto-backporting delay in terms of calendar days?

The autosel stuff is about 2-3(-4) weeks at this point, stuff with a
fixes tag gets picked up in about 2 weeks.

--
Thanks,
Sasha