Hi David, hi Jakub, hi Paolo, hi Eric, The following pull-request contains BPF updates for your *net-next* tree. We've added 23 non-merge commits during the last 3 day(s) which contain a total of 18 files changed, 234 insertions(+), 243 deletions(-). The main changes are: 1) Improve BPF verifier by utilizing overflow.h helpers to check for overflows, from Shung-Hsi Yu. 2) Fix NULL pointer dereference in resolve_prog_type() for BPF_PROG_TYPE_EXT when attr->attach_prog_fd was not specified, from Tengda Wu. 3) Fix arm64 BPF JIT when generating code for BPF trampolines with BPF_TRAMP_F_CALL_ORIG which corrupted upper address bits, from Puranjay Mohan. 4) Remove test_run callback from lwt_seg6local_prog_ops which never worked in the first place and caused syzbot reports, from Sebastian Andrzej Siewior. 5) Relax BPF verifier to accept non-zero offset on KF_TRUSTED_ARGS/KF_RCU-typed BPF kfuncs, from Matt Bobrowski. 6) Fix a long standing bug in libbpf with regards to handling of BPF skeleton's forward and backward compatibility, from Andrii Nakryiko. 7) Annotate btf_{seq,snprintf}_show functions with __printf, from Alan Maguire. 8) BPF selftest improvements to reuse common network helpers in sk_lookup test and dropping the open-coded inetaddr_len() and make_socket() ones, from Geliang Tang. Please consider pulling these changes from: git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git tags/for-netdev Thanks a lot! Also thanks to reporters, reviewers and testers of commits in this pull-request: Alan Maguire, Daniel Borkmann, Eduard Zingerman, Jiri Olsa, Kumar Kartikeya Dwivedi, Mirsad Todorovac, Quentin Monnet ---------------------------------------------------------------- The following changes since commit 746d684ea579927015cde53cff8fc365caaf93b7: Merge branch 'selftests-drv-net-rss_ctx-more-tests' (2024-07-09 16:31:19 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git tags/for-netdev for you to fetch changes up to e435b043d89a267bd6eb3d5650d2319805d7924a: selftests/bpf: Test for null-pointer-deref bugfix in resolve_prog_type() (2024-07-12 22:14:21 +0200) ---------------------------------------------------------------- bpf-next-for-netdev ---------------------------------------------------------------- Alan Maguire (3): selftests/bpf: fix compilation failure when CONFIG_NF_FLOW_TABLE=m bpf: annotate BTF show functions with __printf bpf: Eliminate remaining "make W=1" warnings in kernel/bpf/btf.o Alexei Starovoitov (2): Merge branch 'fix-libbpf-bpf-skeleton-forward-backward-compat' Merge branch 'use-overflow-h-helpers-to-check-for-overflows' Andrii Nakryiko (3): bpftool: improve skeleton backwards compat with old buggy libbpfs libbpf: fix BPF skeleton forward/backward compat handling libbpf: improve old BPF skeleton handling for map auto-attach Daniel Borkmann (1): selftests/bpf: DENYLIST.aarch64: Skip fexit_sleep again Geliang Tang (8): selftests/bpf: Add backlog for network_helper_opts selftests/bpf: Add ASSERT_OK_FD macro selftests/bpf: Close fd in error path in drop_on_reuseport selftests/bpf: Use start_server_str in sk_lookup selftests/bpf: Use start_server_addr in sk_lookup selftests/bpf: Use connect_fd_to_fd in sk_lookup selftests/bpf: Null checks for links in bpf_tcp_ca selftests/bpf: Close obj in error path in xdp_adjust_tail Martin KaFai Lau (2): Merge branch 'use network helpers, part 8' Merge branch 'BPF selftests misc fixes' Matt Bobrowski (1): bpf: relax zero fixed offset constraint on KF_TRUSTED_ARGS/KF_RCU Puranjay Mohan (1): bpf, arm64: Fix trampoline for BPF_TRAMP_F_CALL_ORIG Sebastian Andrzej Siewior (1): bpf: Remove tst_run from lwt_seg6local_prog_ops. Shung-Hsi Yu (3): bpf: fix overflow check in adjust_jmp_off() bpf: use check_add_overflow() to check for addition overflows bpf: use check_sub_overflow() to check for subtraction overflows Tengda Wu (2): bpf: Fix null pointer dereference in resolve_prog_type() for BPF_PROG_TYPE_EXT selftests/bpf: Test for null-pointer-deref bugfix in resolve_prog_type() arch/arm64/net/bpf_jit_comp.c | 4 +- include/linux/bpf_verifier.h | 2 +- kernel/bpf/btf.c | 10 +- kernel/bpf/verifier.c | 180 ++++++--------------- net/core/filter.c | 1 - tools/bpf/bpftool/gen.c | 46 ++++-- tools/lib/bpf/libbpf.c | 71 ++++---- tools/testing/selftests/bpf/DENYLIST.aarch64 | 1 + tools/testing/selftests/bpf/network_helpers.c | 2 +- tools/testing/selftests/bpf/network_helpers.h | 10 ++ .../testing/selftests/bpf/prog_tests/bpf_tcp_ca.c | 16 +- tools/testing/selftests/bpf/prog_tests/sk_lookup.c | 82 +++++----- .../selftests/bpf/prog_tests/xdp_adjust_tail.c | 2 +- .../selftests/bpf/progs/nested_trust_failure.c | 8 - .../selftests/bpf/progs/nested_trust_success.c | 8 + tools/testing/selftests/bpf/progs/xdp_flowtable.c | 10 +- tools/testing/selftests/bpf/test_progs.h | 9 ++ tools/testing/selftests/bpf/verifier/calls.c | 15 +- 18 files changed, 234 insertions(+), 243 deletions(-)