Re: [PATCH net v4 0/5] xsk: fix meta and publish of cq issues
From: Jason Xing <hidden>
Date: 2026-05-21 13:08:09
Also in:
bpf
On Thu, May 21, 2026 at 9:00 PM Maciej Fijalkowski [off-list ref] wrote:
On Thu, May 21, 2026 at 08:41:08PM +0800, Jason Xing wrote:quoted
On Thu, May 21, 2026 at 8:24 PM Maciej Fijalkowski [off-list ref] wrote:quoted
On Wed, May 20, 2026 at 08:42:39AM +0800, Jason Xing wrote:quoted
From: Jason Xing <kernelxing@tencent.com> The series is the product of previous review from sashiko[1]. 1) META patch 1: address TOCTOU around metadata. 2) PUBLISH of CQ patch 2: make sure xsk_addr->addrs[] can be published to cq when overflow occurs. patch 3: keep cleaning up the continuation descs (more than 17) and publish its address when overflow occurs. patch 4: like patch 3, but only handles the invalid descs cases. [1]: https://lore.kernel.org/all/20260502200722.53960-1-kerneljasonxing@gmail.com/ (local) --- V4 Link: https://lore.kernel.org/all/20260517063311.28921-1-kerneljasonxing@gmail.com/ (local) 1. correct the description of xmit path in patch 3 (sashiko) 2. move set logic into xmit path in patch 3 (Stan) V3 Link: https://lore.kernel.org/all/20260515123018.80147-1-kerneljasonxing@gmail.com/ (local) 1. avoid breaking previous usage of sendto, and siliently handle overflow case (Stan, sashiko) 2. add one particular exception process in patch 4 (sashiko) 3. adjust the selftest to make sure it passes in either virutal or physical machines, which includes add usleep to support physical machine. V2 Link: https://lore.kernel.org/all/20260510012310.88570-1-kerneljasonxing@gmail.com/ (local) 1. adjust selftests (Jakub) 2. add READ_ONCE in patch 1 (Stan)FWIW I still get test failures (yes with patch 5 applied). PTAL.Thanks for the test. But I've tried with ixgbe driver... I noticed there are some flaky tests which have nothing to do with the series. Can you confirm that it's not caused because of the series?That explains the different results as i am using i40e/ice which have multi-buffer support whereas ixgbe does not even support mbuf at XDP. Broken tests are from mbuf cases.
That's weird. I never expected the failed tests to be about multi-buffer. Are they the same as the output you attached last time? Or something new? Could you please share it so that I can investigate the root cause? Thanks, Jason
quoted
Thanks, Jasonquoted
quoted
Jason Xing (5): xsk: cache csum_start/csum_offset to fix TOCTOU in xsk_skb_metadata() xsk: fix buffer leak in xsk_drop_skb() for AF_XDP multi-buffer Tx xsk: drain continuation descs after overflow in xsk_build_skb() xsk: drain continuation descs on invalid descriptor in __xsk_generic_xmit() selftests/xsk: drain CQ to wait for TX completion include/net/xdp_sock.h | 1 + net/xdp/xsk.c | 44 +++++++++++++---- .../selftests/bpf/prog_tests/test_xsk.c | 48 +++++++++++-------- 3 files changed, 63 insertions(+), 30 deletions(-) -- 2.43.7