Hi David, hi Jakub, hi Paolo, hi Eric, The following pull-request contains BPF updates for your *net* tree. We've added 19 non-merge commits during the last 10 day(s) which contain a total of 20 files changed, 738 insertions(+), 448 deletions(-). The main changes are: 1) Batch of BPF sockmap fixes found when running against NGINX TCP tests, from John Fastabend. 2) Fix a memleak in the LRU{,_PERCPU} hash map when bucket locking fails, from Anton Protopopov. 3) Init the BPF offload table earlier than just late_initcall, from Jakub Kicinski. 4) Fix ctx access mask generation for 32-bit narrow loads of 64-bit fields, from Will Deacon. 5) Remove a now unsupported __fallthrough in BPF samples, from Andrii Nakryiko. 6) Fix a typo in pkg-config call for building sign-file, from Jeremy Sowden. 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: Jakub Sitnicki, Roberto Sassu, Stanislav Fomichev, William Findlay, Yonghong Song ---------------------------------------------------------------- The following changes since commit b41caaded077aa8e7617c15e87d0503df8e7739e: Merge branch 'hns3-fixes' (2023-05-13 17:12:24 +0100) 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 f726e03564ef4e754dd93beb54303e2e1671049e: bpf, sockmap: Test progs verifier error with latest clang (2023-05-23 16:11:27 +0200) ---------------------------------------------------------------- bpf-for-netdev ---------------------------------------------------------------- Andrii Nakryiko (1): samples/bpf: Drop unnecessary fallthrough Anton Protopopov (1): bpf: fix a memory leak in the LRU and LRU_PERCPU hash maps Jakub Kicinski (1): bpf: netdev: init the offload table earlier Jeremy Sowden (1): selftests/bpf: Fix pkg-config call building sign-file John Fastabend (14): bpf, sockmap: Pass skb ownership through read_skb bpf, sockmap: Convert schedule_work into delayed_work bpf, sockmap: Reschedule is now done through backlog bpf, sockmap: Improved check for empty queue bpf, sockmap: Handle fin correctly bpf, sockmap: TCP data stall on recv before accept bpf, sockmap: Wake up polling after data copy bpf, sockmap: Incorrectly handling copied_seq bpf, sockmap: Pull socket helpers out of listen test for general use bpf, sockmap: Build helper to create connected socket pair bpf, sockmap: Test shutdown() correctly exits epoll and recv()=0 bpf, sockmap: Test FIONREAD returns correct bytes in rx buffer bpf, sockmap: Test FIONREAD returns correct bytes in rx buffer with drops bpf, sockmap: Test progs verifier error with latest clang Will Deacon (1): bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields include/linux/skmsg.h | 3 +- include/net/tcp.h | 10 + kernel/bpf/hashtab.c | 6 +- kernel/bpf/offload.c | 2 +- kernel/bpf/verifier.c | 2 +- net/core/skmsg.c | 81 ++--- net/core/sock_map.c | 3 +- net/ipv4/tcp.c | 11 +- net/ipv4/tcp_bpf.c | 79 ++++- net/ipv4/udp.c | 7 +- net/unix/af_unix.c | 7 +- net/vmw_vsock/virtio_transport_common.c | 5 +- samples/bpf/hbm.c | 1 - tools/testing/selftests/bpf/Makefile | 2 +- .../selftests/bpf/prog_tests/sockmap_basic.c | 131 +++++++ .../selftests/bpf/prog_tests/sockmap_helpers.h | 390 +++++++++++++++++++++ .../selftests/bpf/prog_tests/sockmap_listen.c | 370 +------------------ .../selftests/bpf/progs/test_sockmap_drop_prog.c | 32 ++ .../selftests/bpf/progs/test_sockmap_kern.h | 12 +- .../selftests/bpf/progs/test_sockmap_pass_prog.c | 32 ++ 20 files changed, 738 insertions(+), 448 deletions(-) create mode 100644 tools/testing/selftests/bpf/prog_tests/sockmap_helpers.h create mode 100644 tools/testing/selftests/bpf/progs/test_sockmap_drop_prog.c create mode 100644 tools/testing/selftests/bpf/progs/test_sockmap_pass_prog.c