[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240110175743.2220907-1-martin.lau@linux.dev>
Date: Wed, 10 Jan 2024 09:57:40 -0800
From: Martin KaFai Lau <martin.lau@...ux.dev>
To: bpf@...r.kernel.org
Cc: 'Alexei Starovoitov ' <ast@...nel.org>,
'Andrii Nakryiko ' <andrii@...nel.org>,
'Daniel Borkmann ' <daniel@...earbox.net>,
netdev@...r.kernel.org,
kernel-team@...a.com
Subject: [PATCH v2 bpf 0/3] bpf: Fix backward progress bug in bpf_iter_udp
From: Martin KaFai Lau <martin.lau@...nel.org>
This patch set fixes an issue in bpf_iter_udp that makes backward
progress and prevents the user space process from finishing. There is
a test at the end to reproduce the bug.
Please see individual patches for details.
v2:
- Added patch 1 to fix another bug that goes back to
the previous bucket
- Simplify the fix in patch 2 to always reset iter->offset to 0
- Add a test case to close all udp_sk in a bucket while
in the middle of the iteration.
Martin KaFai Lau (3):
bpf: iter_udp: Retry with a larger batch size without going back to
the previous bucket
bpf: Avoid iter->offset making backward progress in bpf_iter_udp
selftests/bpf: Test udp and tcp iter batching
net/ipv4/udp.c | 22 ++-
.../bpf/prog_tests/sock_iter_batch.c | 130 ++++++++++++++++++
.../selftests/bpf/progs/bpf_tracing_net.h | 3 +
.../selftests/bpf/progs/sock_iter_batch.c | 121 ++++++++++++++++
4 files changed, 264 insertions(+), 12 deletions(-)
create mode 100644 tools/testing/selftests/bpf/prog_tests/sock_iter_batch.c
create mode 100644 tools/testing/selftests/bpf/progs/sock_iter_batch.c
--
2.34.1
Powered by blists - more mailing lists