Hi David, hi Jakub, hi Paolo, hi Eric, The following pull-request contains BPF updates for your *net* tree. We've added 10 non-merge commits during the last 5 day(s) which contain a total of 12 files changed, 806 insertions(+), 51 deletions(-). The main changes are: 1) Fix an issue in bpf_iter_udp under backward progress which prevents user space process from finishing iteration, from Martin KaFai Lau. 2) Fix BPF verifier to reject variable offset alu on registers with a type of PTR_TO_FLOW_KEYS to prevent oob access, from Hao Sun. 3) Follow up fixes for kernel- and libbpf-side logic around handling arg:ctx tagged arguments of BPF global subprogs, from Andrii Nakryiko. Please consider pulling these changes from: git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git tags/for-netdev Thanks a lot! Also thanks to reporters, reviewers and testers of commits in this pull-request: Aditi Ghag, Yonghong Song ---------------------------------------------------------------- The following changes since commit 894d7508316e7ad722df597d68b4b1797a9eee11: net: netdev_queue: netdev_txq_completed_mb(): fix wake condition (2024-01-13 18:26:23 +0000) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git tags/for-netdev for you to fetch changes up to 35ac085a94efe82d906d3a812612d432aa267cbe: Merge branch 'tighten-up-arg-ctx-type-enforcement' (2024-01-17 20:20:06 -0800) ---------------------------------------------------------------- bpf-for-netdev ---------------------------------------------------------------- Alexei Starovoitov (2): Merge branch 'bpf-fix-backward-progress-bug-in-bpf_iter_udp' Merge branch 'tighten-up-arg-ctx-type-enforcement' Andrii Nakryiko (5): libbpf: feature-detect arg:ctx tag support in kernel bpf: extract bpf_ctx_convert_map logic and make it more reusable bpf: enforce types for __arg_ctx-tagged arguments in global subprogs selftests/bpf: add tests confirming type logic in kernel for __arg_ctx libbpf: warn on unexpected __arg_ctx type when rewriting BTF Hao Sun (2): bpf: Reject variable offset alu on PTR_TO_FLOW_KEYS selftests/bpf: Add test for alu on PTR_TO_FLOW_KEYS 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 include/linux/btf.h | 2 +- kernel/bpf/btf.c | 231 ++++++++++++++++++--- kernel/bpf/verifier.c | 4 + net/ipv4/udp.c | 22 +- tools/lib/bpf/libbpf.c | 142 ++++++++++++- .../selftests/bpf/prog_tests/sock_iter_batch.c | 135 ++++++++++++ .../selftests/bpf/prog_tests/test_global_funcs.c | 13 ++ .../testing/selftests/bpf/progs/bpf_tracing_net.h | 3 + .../testing/selftests/bpf/progs/sock_iter_batch.c | 91 ++++++++ tools/testing/selftests/bpf/progs/test_jhash.h | 31 +++ .../selftests/bpf/progs/verifier_global_subprogs.c | 164 ++++++++++++++- .../bpf/progs/verifier_value_illegal_alu.c | 19 ++ 12 files changed, 806 insertions(+), 51 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