BPF Archive mirror
 help / color / mirror / Atom feed
* pull-request: bpf-next 2024-04-29
@ 2024-04-29 13:16 Daniel Borkmann
  2024-04-29 20:22 ` Jakub Kicinski
  2024-04-29 20:30 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 7+ messages in thread
From: Daniel Borkmann @ 2024-04-29 13:16 UTC (permalink / raw
  To: davem; +Cc: kuba, pabeni, edumazet, daniel, ast, andrii, martin.lau, netdev,
	bpf

Hi David, hi Jakub, hi Paolo, hi Eric,

The following pull-request contains BPF updates for your *net-next* tree.

We've added 147 non-merge commits during the last 32 day(s) which contain
a total of 158 files changed, 9400 insertions(+), 2213 deletions(-).

Note, the merge is conflict-free. There is a small conflict once net lands
in net-next, see also:

  https://lore.kernel.org/bpf/20240429114939.210328b0@canb.auug.org.au

The main changes are:

1) Add an internal-only BPF per-CPU instruction for resolving per-CPU memory addresses and
   implement support in x86 BPF JIT. This allows inlining per-CPU array and hashmap lookups
   and the bpf_get_smp_processor_id() helper, from Andrii Nakryiko.

2) Add BPF link support for sk_msg and sk_skb programs, from Yonghong Song.

3) Optimize x86 BPF JIT's emit_mov_imm64, and add support for various atomics in bpf_arena
   which can be JITed as a single x86 instruction, from Alexei Starovoitov.

4) Add support for passing mark with bpf_fib_lookup helper, from Anton Protopopov.

5) Add a new bpf_wq API for deferring events and refactor sleepable bpf_timer code to keep
   common code where possible, from Benjamin Tissoires.

6) Fix BPF_PROG_TEST_RUN infra with regards to bpf_dummy_struct_ops programs to check
   when NULL is passed for non-NULLable parameters, from Eduard Zingerman.

7) Harden the BPF verifier's and/or/xor value tracking, from Harishankar Vishwanathan.

8) Introduce crypto kfuncs to make BPF programs able to utilize the kernel crypto subsystem,
   from Vadim Fedorenko.

9) Various improvements to the BPF instruction set standardization doc, from Dave Thaler.

10) Extend libbpf APIs to partially consume items from the BPF ringbuffer, from Andrea Righi.

11) Bigger batch of BPF selftests refactoring to use common network helpers and to drop
    duplicate code, from Geliang Tang.

12) Support bpf_tail_call_static() helper for BPF programs with GCC 13, from Jose E. Marchesi.

13) Add bpf_preempt_{disable,enable}() kfuncs in order to allow a BPF program to have code
    sections where preemption is disabled, from Kumar Kartikeya Dwivedi.

14) Allow invoking BPF kfuncs from BPF_PROG_TYPE_SYSCALL programs, from David Vernet.

15) Extend the BPF verifier to allow different input maps for a given bpf_for_each_map_elem()
    helper call in a BPF program, from Philo Lu.

16) Add support for PROBE_MEM32 and bpf_addr_space_cast instructions for riscv64 and arm64
    JITs to enable BPF Arena, from Puranjay Mohan.

17) Shut up a false-positive KMSAN splat in interpreter mode by unpoison the stack
    memory, from Martin KaFai Lau.

18) Improve xsk selftest coverage with new tests on maximum and minimum hardware ring
    size configurations, from Tushar Vyavahare.

19) Various rST man pages fixes as well as documentation and bash completion improvements
    for bpftool, from Rameez Rehman & Quentin Monnet.

20) Fix libbpf with regards to dumping subsequent char arrays, from Quentin Deslandes.

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:

Alexander Lobakin, Andrii Nakryiko, Arnd Bergmann, Björn Töpel, Daniel 
Borkmann, David Ahern, David Vernet, Eduard Zingerman, Herbert Xu, Jiri 
Olsa, John Fastabend, Jose E. Marchesi, kernel test robot, Kui-Feng Lee, 
Kumar Kartikeya Dwivedi, Magnus Karlsson, Naresh Kamboju, Pu Lehui, 
Quentin Monnet, Yonghong Song

----------------------------------------------------------------

The following changes since commit c602f4ca13a529b45692de4fdec96b4cdec866da:

  Merge branch 'ravb-support-describing-the-mdio-bus' (2024-03-28 18:17:54 -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 07801a24e2f18624cd2400ce15f14569eb416c9a:

  bpf, docs: Clarify PC use in instruction-set.rst (2024-04-29 11:54:42 +0200)

----------------------------------------------------------------
bpf-next-for-netdev

----------------------------------------------------------------
Alexei Starovoitov (18):
      Merge branch 'bench-fast-in-kernel-triggering-benchmarks'
      Merge branch 'bpf-fix-a-couple-of-test-failures-with-lto-kernel'
      bpf: Avoid kfree_rcu() under lock in bpf_lpm_trie.
      Merge branch 'bpf-arm64-add-support-for-bpf-arena'
      Merge branch 'add-internal-only-bpf-per-cpu-instruction'
      bpf: Optimize emit_mov_imm64().
      Merge branch 'inline-bpf_get_branch_snapshot-bpf-helper'
      Merge branch 'bpf-allow-bpf_for_each_map_elem-helper-with-different-input-maps'
      bpf: Add support for certain atomics in bpf_arena to x86 JIT
      selftests/bpf: Add tests for atomics in bpf_arena.
      Merge branch 'bpf-add-bpf_link-support-for-sk_msg-and-sk_skb-progs'
      bpf: Fix JIT of is_mov_percpu_addr instruction.
      Merge branch 'introduce-bpf_wq'
      bpf: Don't check for recursion in bpf_wq_work.
      Merge branch 'introduce-bpf_preempt_-disable-enable'
      selftests/bpf: Fix wq test.
      bpf: Add bpf_guard_preempt() convenience macro
      Merge branch 'check-bpf_dummy_struct_ops-program-params-for-test-runs'

Andrea Righi (4):
      libbpf: Start v1.5 development cycle
      libbpf: ringbuf: Allow to consume up to a certain amount of items
      libbpf: Add ring__consume_n / ring_buffer__consume_n
      selftests/bpf: Add ring_buffer__consume_n test.

Andrii Nakryiko (19):
      selftests/bpf: rename and clean up userspace-triggered benchmarks
      selftests/bpf: add batched, mostly in-kernel BPF triggering benchmarks
      selftests/bpf: remove syscall-driven benchs, keep syscall-count only
      selftests/bpf: lazy-load trigger bench BPF programs
      bpf: add bpf_modify_return_test_tp() kfunc triggering tracepoint
      selftests/bpf: add batched tp/raw_tp/fmodret tests
      selftests/bpf: make multi-uprobe tests work in RELEASE=1 mode
      bpftool: Use __typeof__() instead of typeof() in BPF skeleton
      bpf: add special internal-only MOV instruction to resolve per-CPU addrs
      bpf: inline bpf_get_smp_processor_id() helper
      bpf: inline bpf_map_lookup_elem() for PERCPU_ARRAY maps
      bpf: inline bpf_map_lookup_elem() helper for PERCPU_HASH map
      bpf: handle CONFIG_SMP=n configuration in x86 BPF JIT
      bpf: make bpf_get_branch_snapshot() architecture-agnostic
      bpf: inline bpf_get_branch_snapshot() helper
      bpf: prevent r10 register from being marked as precise
      selftests/bpf: add fp-leaking precise subprog result tests
      Merge branch 'bpf-allow-invoking-kfuncs-from-bpf_prog_type_syscall-progs'
      Merge branch 'libbpf-api-to-partially-consume-items-from-ringbuffer'

Anton Protopopov (5):
      bpf: Add support for passing mark with bpf_fib_lookup
      selftests/bpf: Add BPF_FIB_LOOKUP_MARK tests
      bpf: Add a check for struct bpf_fib_lookup size
      bpf: Add a verbose message if map limit is reached
      bpf: Pack struct bpf_fib_lookup

Ard Biesheuvel (1):
      btf: Avoid weak external references

Arnd Bergmann (1):
      bpf: fix perf_snapshot_branch_stack link failure

Benjamin Tissoires (16):
      bpf: make timer data struct more generic
      bpf: replace bpf_timer_init with a generic helper
      bpf: replace bpf_timer_set_callback with a generic helper
      bpf: replace bpf_timer_cancel_and_free with a generic helper
      bpf: add support for bpf_wq user type
      tools: sync include/uapi/linux/bpf.h
      bpf: verifier: bail out if the argument is not a map
      bpf: add support for KF_ARG_PTR_TO_WORKQUEUE
      bpf: allow struct bpf_wq to be embedded in arraymaps and hashmaps
      selftests/bpf: add bpf_wq tests
      bpf: wq: add bpf_wq_init
      selftests/bpf: wq: add bpf_wq_init() checks
      bpf: wq: add bpf_wq_set_callback_impl
      selftests/bpf: add checks for bpf_wq_set_callback()
      bpf: add bpf_wq_start
      selftests/bpf: wq: add bpf_wq_start() checks

Chen Pei (1):
      bpf, tests: Fix typos in comments

Dave Thaler (5):
      bpf, docs: Editorial nits in instruction-set.rst
      bpf, docs: Clarify helper ID and pointer terms in instruction-set.rst
      bpf, docs: Fix formatting nit in instruction-set.rst
      bpf, docs: Add introduction for use in the ISA Internet Draft
      bpf, docs: Clarify PC use in instruction-set.rst

David Lechner (1):
      bpf: Fix typo in uapi doc comments

David Vernet (2):
      bpf: Allow invoking kfuncs from BPF_PROG_TYPE_SYSCALL progs
      selftests/bpf: Verify calling core kfuncs from BPF_PROG_TYPE_SYCALL

Eduard Zingerman (5):
      bpf: mark bpf_dummy_struct_ops.test_1 parameter as nullable
      selftests/bpf: adjust dummy_st_ops_success to detect additional error
      selftests/bpf: do not pass NULL for non-nullable params in dummy_st_ops
      bpf: check bpf_dummy_struct_ops program params for test runs
      selftests/bpf: dummy_st_ops should reject 0 for non-nullable params

Geliang Tang (17):
      selftests/bpf: Use connect_fd_to_fd in bpf_tcp_ca
      selftests/bpf: Drop settimeo in do_test
      selftests/bpf: Add pid limit for mptcpify prog
      selftests/bpf: Fix umount cgroup2 error in test_sockmap
      selftests/bpf: Add struct send_recv_arg
      selftests/bpf: Export send_recv_data helper
      selftests/bpf: Add start_server_addr helper
      selftests/bpf: Use start_server_addr in cls_redirect
      selftests/bpf: Use start_server_addr in sk_assign
      selftests/bpf: Update arguments of connect_to_addr
      selftests/bpf: Use connect_to_addr in cls_redirect
      selftests/bpf: Use connect_to_addr in sk_assign
      selftests/bpf: Fix a fd leak in error paths in open_netns
      selftests/bpf: Use log_err in open_netns/close_netns
      selftests/bpf: Use start_server_addr in test_sock_addr
      selftests/bpf: Use connect_to_addr in test_sock_addr
      selftests/bpf: Use make_sockaddr in test_sock_addr

Haiyue Wang (2):
      bpf,arena: Use helper sizeof_field in struct accessors
      bpf: update the comment for BTF_FIELDS_MAX

Harishankar Vishwanathan (1):
      bpf: Harden and/or/xor value tracking in verifier

Jason Xing (1):
      selftests/bpf: eliminate warning of get_cgroup_id_from_path()

Jiri Olsa (1):
      selftests/bpf: Add read_trace_pipe_iter function

Jose E. Marchesi (1):
      bpf_helpers.h: Define bpf_tail_call_static when building with GCC

Jose Fernandez (1):
      bpf: Improve program stats run-time calculation

Justin Stitt (1):
      bpf: Replace deprecated strncpy with strscpy

Kui-Feng Lee (1):
      selftests/bpf: Make sure libbpf doesn't enforce the signature of a func pointer.

Kumar Kartikeya Dwivedi (2):
      bpf: Introduce bpf_preempt_[disable,enable] kfuncs
      selftests/bpf: Add tests for preempt kfuncs

Martin KaFai Lau (9):
      bpf: Remove CONFIG_X86 and CONFIG_DYNAMIC_FTRACE guard from the tcp-cc kfuncs
      selftests/bpf: Test loading bpf-tcp-cc prog calling the kernel tcp-cc kfuncs
      bpf: Mark bpf prog stack with kmsan_unposion_memory in interpreter mode
      Merge branch 'Use start_server and connect_fd_to_fd'
      Merge branch 'export send_recv_data'
      Merge branch 'use network helpers, part 1'
      Merge branch 'use network helpers, part 2'
      Merge branch 'BPF crypto API framework'
      Merge branch 'bpf: add mrtt and srtt as ctx->args for BPF_SOCK_OPS_RTT_CB'

Mykyta Yatsenko (1):
      bpf: improve error message for unsupported helper

Philo Lu (5):
      bpf: store both map ptr and state in bpf_insn_aux_data
      bpf: allow invoking bpf_for_each_map_elem with different maps
      selftests/bpf: add test for bpf_for_each_map_elem() with different maps
      bpf: add mrtt and srtt as BPF_SOCK_OPS_RTT_CB args
      selftests/bpf: extend BPF_SOCK_OPS_RTT_CB test for srtt and mrtt_us

Pu Lehui (1):
      selftests/bpf: Skip test when perf_event_open returns EOPNOTSUPP

Puranjay Mohan (4):
      bpf: Add arm64 JIT support for PROBE_MEM32 pseudo instructions.
      bpf: Add arm64 JIT support for bpf_addr_space_cast instruction.
      bpf, riscv: Implement PROBE_MEM32 pseudo instructions
      bpf, riscv: Implement bpf_addr_space_cast instruction

Quentin Deslandes (2):
      libbpf: Fix misaligned array closing bracket
      libbpf: Fix dump of subsequent char arrays

Quentin Monnet (2):
      bpftool: Update documentation where progs/maps can be passed by name
      bpftool: Address minor issues in bash completion

Rafael Passos (2):
      bpf: Fix typo in function save_aux_ptr_type
      bpf: Fix typos in comments

Rameez Rehman (3):
      bpftool: Use simpler indentation in source rST for documentation
      bpftool: Remove useless emphasis on command description in man pages
      bpftool: Clean-up typos, punctuation, list formatting in docs

Sahil Siddiq (1):
      bpftool: Mount bpffs on provided dir instead of parent dir

Thorsten Blum (1):
      bpftool: Fix typo in error message

Tobias Böhm (1):
      libbpf: Use local bpf_helpers.h include

Tushar Vyavahare (7):
      tools: Add ethtool.h header to tooling infra
      selftests/xsk: Make batch size variable
      selftests/bpf: Implement get_hw_ring_size function to retrieve current and max interface size
      selftests/bpf: Implement set_hw_ring_size function to configure interface ring size
      selftests/xsk: Introduce set_ring_size function with a retry mechanism for handling AF_XDP socket closures
      selftests/xsk: Test AF_XDP functionality under minimal ring configurations
      selftests/xsk: Add new test case for AF_XDP under max ring sizes

Vadim Fedorenko (4):
      bpf: make common crypto API for TC/XDP programs
      bpf: crypto: add skcipher to bpf crypto
      selftests: bpf: crypto skcipher algo selftests
      selftests: bpf: crypto: add benchmark for crypto functions

Yafang Shao (1):
      bpf: Mitigate latency spikes associated with freeing non-preallocated htab

Yonghong Song (15):
      selftests/bpf: Replace CHECK with ASSERT macros for ksyms test
      libbpf: Mark libbpf_kallsyms_parse static function
      libbpf: Handle <orig_name>.llvm.<hash> symbol properly
      selftests/bpf: Refactor some functions for kprobe_multi_test
      selftests/bpf: Refactor trace helper func load_kallsyms_local()
      selftests/bpf: Add {load,search}_kallsyms_custom_local()
      selftests/bpf: Fix kprobe_multi_bench_attach test failure with LTO kernel
      selftests/bpf: Add a kprobe_multi subtest to use addrs instead of syms
      selftests/bpf: Using llvm may_goto inline asm for cond_break macro
      bpf: Add bpf_link support for sk_msg and sk_skb progs
      libbpf: Add bpf_link support for BPF_PROG_TYPE_SOCKMAP
      bpftool: Add link dump support for BPF_LINK_TYPE_SOCKMAP
      selftests/bpf: Refactor out helper functions for a few tests
      selftests/bpf: Add some tests with new bpf_program__attach_sockmap() APIs
      selftests/bpf: Enable tests for atomics with cpuv4

 .../bpf/standardization/instruction-set.rst        |  109 +-
 MAINTAINERS                                        |    8 +
 arch/arm64/net/bpf_jit_comp.c                      |   86 +-
 arch/riscv/net/bpf_jit.h                           |    2 +
 arch/riscv/net/bpf_jit_comp64.c                    |  203 +-
 arch/riscv/net/bpf_jit_core.c                      |    2 +
 arch/x86/net/bpf_jit_comp.c                        |   92 +-
 crypto/Makefile                                    |    3 +
 crypto/bpf_crypto_skcipher.c                       |   82 +
 include/linux/bpf.h                                |   22 +-
 include/linux/bpf_crypto.h                         |   24 +
 include/linux/bpf_verifier.h                       |   11 +-
 include/linux/filter.h                             |   30 +-
 include/linux/skmsg.h                              |    4 +
 include/net/tcp.h                                  |    4 +-
 include/trace/events/bpf_test_run.h                |   17 +
 include/uapi/linux/bpf.h                           |   37 +-
 kernel/bpf/Makefile                                |    3 +
 kernel/bpf/arena.c                                 |    2 +-
 kernel/bpf/arraymap.c                              |   51 +-
 kernel/bpf/bpf_local_storage.c                     |    2 +-
 kernel/bpf/btf.c                                   |   24 +-
 kernel/bpf/core.c                                  |   18 +-
 kernel/bpf/cpumask.c                               |    1 +
 kernel/bpf/crypto.c                                |  385 ++++
 kernel/bpf/disasm.c                                |   14 +
 kernel/bpf/hashtab.c                               |   79 +-
 kernel/bpf/helpers.c                               |  358 +++-
 kernel/bpf/log.c                                   |    4 +-
 kernel/bpf/lpm_trie.c                              |   13 +-
 kernel/bpf/syscall.c                               |   19 +-
 kernel/bpf/sysfs_btf.c                             |    6 +-
 kernel/bpf/trampoline.c                            |    3 +-
 kernel/bpf/verifier.c                              |  485 ++++-
 kernel/trace/bpf_trace.c                           |    4 -
 lib/test_bpf.c                                     |    2 +-
 net/bpf/bpf_dummy_struct_ops.c                     |   55 +-
 net/bpf/test_run.c                                 |    8 +
 net/core/filter.c                                  |   15 +-
 net/core/sock_map.c                                |  263 ++-
 net/ipv4/tcp_bbr.c                                 |    4 -
 net/ipv4/tcp_cubic.c                               |    4 -
 net/ipv4/tcp_dctcp.c                               |    4 -
 net/ipv4/tcp_input.c                               |    4 +-
 tools/bpf/bpftool/Documentation/Makefile           |    6 +-
 tools/bpf/bpftool/Documentation/bpftool-btf.rst    |  104 +-
 tools/bpf/bpftool/Documentation/bpftool-cgroup.rst |  219 +-
 .../bpf/bpftool/Documentation/bpftool-feature.rst  |  115 +-
 tools/bpf/bpftool/Documentation/bpftool-gen.rst    |  338 ++-
 tools/bpf/bpftool/Documentation/bpftool-iter.rst   |   60 +-
 tools/bpf/bpftool/Documentation/bpftool-link.rst   |   73 +-
 tools/bpf/bpftool/Documentation/bpftool-map.rst    |  232 +-
 tools/bpf/bpftool/Documentation/bpftool-net.rst    |  112 +-
 tools/bpf/bpftool/Documentation/bpftool-perf.rst   |   34 +-
 tools/bpf/bpftool/Documentation/bpftool-prog.rst   |  436 ++--
 .../bpftool/Documentation/bpftool-struct_ops.rst   |   81 +-
 tools/bpf/bpftool/Documentation/bpftool.rst        |   60 +-
 tools/bpf/bpftool/Documentation/common_options.rst |   26 +-
 tools/bpf/bpftool/bash-completion/bpftool          |   61 +-
 tools/bpf/bpftool/common.c                         |   96 +-
 tools/bpf/bpftool/feature.c                        |    3 +-
 tools/bpf/bpftool/gen.c                            |    4 +-
 tools/bpf/bpftool/iter.c                           |    2 +-
 tools/bpf/bpftool/link.c                           |    9 +
 tools/bpf/bpftool/main.h                           |    3 +-
 tools/bpf/bpftool/prog.c                           |    7 +-
 tools/bpf/bpftool/struct_ops.c                     |    2 +-
 tools/include/linux/filter.h                       |   18 +
 tools/include/uapi/linux/bpf.h                     |   37 +-
 tools/include/uapi/linux/ethtool.h                 | 2229 +++++++++++++++++++-
 tools/lib/bpf/bpf_core_read.h                      |    2 +-
 tools/lib/bpf/bpf_helpers.h                        |    4 +-
 tools/lib/bpf/btf_dump.c                           |    5 +
 tools/lib/bpf/libbpf.c                             |   33 +-
 tools/lib/bpf/libbpf.h                             |   14 +
 tools/lib/bpf/libbpf.map                           |    7 +
 tools/lib/bpf/libbpf_internal.h                    |    5 -
 tools/lib/bpf/libbpf_probes.c                      |    6 +-
 tools/lib/bpf/libbpf_version.h                     |    2 +-
 tools/lib/bpf/ringbuf.c                            |   55 +-
 tools/testing/selftests/bpf/DENYLIST.aarch64       |    3 +-
 tools/testing/selftests/bpf/DENYLIST.s390x         |    1 +
 tools/testing/selftests/bpf/Makefile               |   13 +-
 tools/testing/selftests/bpf/bench.c                |   39 +-
 .../selftests/bpf/benchs/bench_bpf_crypto.c        |  185 ++
 tools/testing/selftests/bpf/benchs/bench_trigger.c |  391 ++--
 .../selftests/bpf/benchs/run_bench_trigger.sh      |   22 +-
 .../selftests/bpf/benchs/run_bench_uprobes.sh      |    2 +-
 tools/testing/selftests/bpf/bpf_experimental.h     |   40 +
 .../selftests/bpf/bpf_testmod/bpf_testmod.c        |    5 +
 .../selftests/bpf/bpf_testmod/bpf_testmod_kfunc.h  |    1 +
 tools/testing/selftests/bpf/cgroup_helpers.c       |    2 +-
 tools/testing/selftests/bpf/config                 |    7 +
 tools/testing/selftests/bpf/network_helpers.c      |  198 +-
 tools/testing/selftests/bpf/network_helpers.h      |   12 +-
 .../selftests/bpf/prog_tests/arena_atomics.c       |  186 ++
 .../testing/selftests/bpf/prog_tests/bpf_tcp_ca.c  |   96 +-
 .../selftests/bpf/prog_tests/cls_redirect.c        |   38 +-
 .../selftests/bpf/prog_tests/crypto_sanity.c       |  197 ++
 .../selftests/bpf/prog_tests/dummy_st_ops.c        |   34 +-
 tools/testing/selftests/bpf/prog_tests/empty_skb.c |    2 +
 .../testing/selftests/bpf/prog_tests/fib_lookup.c  |  132 +-
 .../selftests/bpf/prog_tests/flow_dissector.c      |    1 -
 tools/testing/selftests/bpf/prog_tests/for_each.c  |   62 +
 .../selftests/bpf/prog_tests/ip_check_defrag.c     |    2 +
 .../selftests/bpf/prog_tests/kprobe_multi_test.c   |  248 ++-
 tools/testing/selftests/bpf/prog_tests/ksyms.c     |   30 +-
 tools/testing/selftests/bpf/prog_tests/mptcp.c     |    2 +
 .../selftests/bpf/prog_tests/preempt_lock.c        |    9 +
 tools/testing/selftests/bpf/prog_tests/ringbuf.c   |   65 +
 .../testing/selftests/bpf/prog_tests/send_signal.c |    2 +-
 tools/testing/selftests/bpf/prog_tests/sk_assign.c |   55 +-
 tools/testing/selftests/bpf/prog_tests/sock_addr.c |    6 +-
 .../selftests/bpf/prog_tests/sockmap_basic.c       |  171 +-
 .../selftests/bpf/prog_tests/sockmap_listen.c      |   38 +
 .../bpf/prog_tests/stacktrace_build_id_nmi.c       |    2 +-
 .../testing/selftests/bpf/prog_tests/tc_redirect.c |    2 +-
 tools/testing/selftests/bpf/prog_tests/tcp_rtt.c   |   14 +
 .../bpf/prog_tests/test_struct_ops_module.c        |   24 +
 .../testing/selftests/bpf/prog_tests/test_tunnel.c |    4 +
 .../selftests/bpf/prog_tests/trace_printk.c        |   36 +-
 .../selftests/bpf/prog_tests/trace_vprintk.c       |   36 +-
 .../bpf/prog_tests/verifier_kfunc_prog_types.c     |   11 +
 tools/testing/selftests/bpf/prog_tests/wq.c        |   42 +
 .../selftests/bpf/prog_tests/xdp_metadata.c        |   16 +
 tools/testing/selftests/bpf/progs/arena_atomics.c  |  178 ++
 .../selftests/bpf/progs/cgrp_kfunc_common.h        |    2 +-
 tools/testing/selftests/bpf/progs/crypto_basic.c   |   68 +
 tools/testing/selftests/bpf/progs/crypto_bench.c   |  109 +
 tools/testing/selftests/bpf/progs/crypto_common.h  |   66 +
 tools/testing/selftests/bpf/progs/crypto_sanity.c  |  169 ++
 .../selftests/bpf/progs/dummy_st_ops_success.c     |   15 +-
 .../selftests/bpf/progs/for_each_multi_maps.c      |   49 +
 tools/testing/selftests/bpf/progs/mptcpify.c       |    4 +
 tools/testing/selftests/bpf/progs/preempt_lock.c   |  132 ++
 .../selftests/bpf/progs/struct_ops_module.c        |   13 +
 .../selftests/bpf/progs/task_kfunc_common.h        |    2 +-
 tools/testing/selftests/bpf/progs/tcp_ca_kfunc.c   |  121 ++
 tools/testing/selftests/bpf/progs/tcp_rtt.c        |    6 +
 tools/testing/selftests/bpf/progs/test_ringbuf_n.c |   47 +
 .../selftests/bpf/progs/test_skmsg_load_helpers.c  |   27 +-
 .../selftests/bpf/progs/test_sockmap_pass_prog.c   |   17 +-
 .../bpf/progs/test_sockmap_skb_verdict_attach.c    |    2 +-
 tools/testing/selftests/bpf/progs/trigger_bench.c  |   68 +-
 .../bpf/progs/verifier_helper_restricted.c         |    8 +-
 .../bpf/progs/verifier_kfunc_prog_types.c          |  122 ++
 .../bpf/progs/verifier_subprog_precision.c         |   89 +
 tools/testing/selftests/bpf/progs/wq.c             |  180 ++
 tools/testing/selftests/bpf/progs/wq_failures.c    |  144 ++
 tools/testing/selftests/bpf/test_sock_addr.c       |  138 +-
 tools/testing/selftests/bpf/test_sockmap.c         |    2 +-
 tools/testing/selftests/bpf/testing_helpers.c      |   16 +-
 tools/testing/selftests/bpf/trace_helpers.c        |  109 +-
 tools/testing/selftests/bpf/trace_helpers.h        |    9 +
 tools/testing/selftests/bpf/uprobe_multi.c         |    2 +-
 tools/testing/selftests/bpf/xdp_hw_metadata.c      |   14 -
 tools/testing/selftests/bpf/xskxceiver.c           |  123 +-
 tools/testing/selftests/bpf/xskxceiver.h           |   12 +-
 158 files changed, 9400 insertions(+), 2213 deletions(-)
 create mode 100644 crypto/bpf_crypto_skcipher.c
 create mode 100644 include/linux/bpf_crypto.h
 create mode 100644 kernel/bpf/crypto.c
 create mode 100644 tools/testing/selftests/bpf/benchs/bench_bpf_crypto.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/arena_atomics.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/crypto_sanity.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/preempt_lock.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/verifier_kfunc_prog_types.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/wq.c
 create mode 100644 tools/testing/selftests/bpf/progs/arena_atomics.c
 create mode 100644 tools/testing/selftests/bpf/progs/crypto_basic.c
 create mode 100644 tools/testing/selftests/bpf/progs/crypto_bench.c
 create mode 100644 tools/testing/selftests/bpf/progs/crypto_common.h
 create mode 100644 tools/testing/selftests/bpf/progs/crypto_sanity.c
 create mode 100644 tools/testing/selftests/bpf/progs/for_each_multi_maps.c
 create mode 100644 tools/testing/selftests/bpf/progs/preempt_lock.c
 create mode 100644 tools/testing/selftests/bpf/progs/tcp_ca_kfunc.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_ringbuf_n.c
 create mode 100644 tools/testing/selftests/bpf/progs/verifier_kfunc_prog_types.c
 create mode 100644 tools/testing/selftests/bpf/progs/wq.c
 create mode 100644 tools/testing/selftests/bpf/progs/wq_failures.c

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: pull-request: bpf-next 2024-04-29
  2024-04-29 13:16 pull-request: bpf-next 2024-04-29 Daniel Borkmann
@ 2024-04-29 20:22 ` Jakub Kicinski
  2024-04-29 21:14   ` Daniel Borkmann
  2024-04-30  8:16   ` Magnus Karlsson
  2024-04-29 20:30 ` patchwork-bot+netdevbpf
  1 sibling, 2 replies; 7+ messages in thread
From: Jakub Kicinski @ 2024-04-29 20:22 UTC (permalink / raw
  To: Daniel Borkmann
  Cc: davem, pabeni, edumazet, ast, andrii, martin.lau, netdev, bpf

On Mon, 29 Apr 2024 15:16:57 +0200 Daniel Borkmann wrote:
>       tools: Add ethtool.h header to tooling infra

Could you follow up to remove this header?
Having to keep multiple headers in sync is annoying, and using 
'make headers' or including in-tree headers directly is not rocket
science.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: pull-request: bpf-next 2024-04-29
  2024-04-29 13:16 pull-request: bpf-next 2024-04-29 Daniel Borkmann
  2024-04-29 20:22 ` Jakub Kicinski
@ 2024-04-29 20:30 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 7+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-04-29 20:30 UTC (permalink / raw
  To: Daniel Borkmann
  Cc: davem, kuba, pabeni, edumazet, ast, andrii, martin.lau, netdev,
	bpf

Hello:

This pull request was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Mon, 29 Apr 2024 15:16:57 +0200 you wrote:
> Hi David, hi Jakub, hi Paolo, hi Eric,
> 
> The following pull-request contains BPF updates for your *net-next* tree.
> 
> We've added 147 non-merge commits during the last 32 day(s) which contain
> a total of 158 files changed, 9400 insertions(+), 2213 deletions(-).
> 
> [...]

Here is the summary with links:
  - pull-request: bpf-next 2024-04-29
    https://git.kernel.org/netdev/net-next/c/89de2db19317

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: pull-request: bpf-next 2024-04-29
  2024-04-29 20:22 ` Jakub Kicinski
@ 2024-04-29 21:14   ` Daniel Borkmann
  2024-04-30  8:03     ` Vyavahare, Tushar
  2024-04-30  8:16   ` Magnus Karlsson
  1 sibling, 1 reply; 7+ messages in thread
From: Daniel Borkmann @ 2024-04-29 21:14 UTC (permalink / raw
  To: Jakub Kicinski
  Cc: davem, pabeni, edumazet, ast, andrii, martin.lau, netdev, bpf,
	Tushar Vyavahare, Magnus Karlsson

On 4/29/24 10:22 PM, Jakub Kicinski wrote:
> On Mon, 29 Apr 2024 15:16:57 +0200 Daniel Borkmann wrote:
>>        tools: Add ethtool.h header to tooling infra
> 
> Could you follow up to remove this header?
> Having to keep multiple headers in sync is annoying, and using
> 'make headers' or including in-tree headers directly is not rocket
> science.

[ Adding Tushar/Magnus, ptal. ]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: pull-request: bpf-next 2024-04-29
  2024-04-29 21:14   ` Daniel Borkmann
@ 2024-04-30  8:03     ` Vyavahare, Tushar
  0 siblings, 0 replies; 7+ messages in thread
From: Vyavahare, Tushar @ 2024-04-30  8:03 UTC (permalink / raw
  To: Daniel Borkmann, Jakub Kicinski
  Cc: davem@davemloft.net, pabeni@redhat.com, edumazet@google.com,
	ast@kernel.org, andrii@kernel.org, martin.lau@linux.dev,
	netdev@vger.kernel.org, bpf@vger.kernel.org, Karlsson, Magnus



> -----Original Message-----
> From: Daniel Borkmann <daniel@iogearbox.net>
> Sent: Tuesday, April 30, 2024 2:44 AM
> To: Jakub Kicinski <kuba@kernel.org>
> Cc: davem@davemloft.net; pabeni@redhat.com; edumazet@google.com;
> ast@kernel.org; andrii@kernel.org; martin.lau@linux.dev;
> netdev@vger.kernel.org; bpf@vger.kernel.org; Vyavahare, Tushar
> <tushar.vyavahare@intel.com>; Karlsson, Magnus
> <magnus.karlsson@intel.com>
> Subject: Re: pull-request: bpf-next 2024-04-29
> 
> On 4/29/24 10:22 PM, Jakub Kicinski wrote:
> > On Mon, 29 Apr 2024 15:16:57 +0200 Daniel Borkmann wrote:
> >>        tools: Add ethtool.h header to tooling infra
> >
> > Could you follow up to remove this header?
> > Having to keep multiple headers in sync is annoying, and using 'make
> > headers' or including in-tree headers directly is not rocket science.
> 
> [ Adding Tushar/Magnus, ptal. ]

Sure , we are looking into it.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: pull-request: bpf-next 2024-04-29
  2024-04-29 20:22 ` Jakub Kicinski
  2024-04-29 21:14   ` Daniel Borkmann
@ 2024-04-30  8:16   ` Magnus Karlsson
  2024-04-30 13:45     ` Jakub Kicinski
  1 sibling, 1 reply; 7+ messages in thread
From: Magnus Karlsson @ 2024-04-30  8:16 UTC (permalink / raw
  To: Jakub Kicinski
  Cc: Daniel Borkmann, davem, pabeni, edumazet, ast, andrii, martin.lau,
	netdev, bpf

On Mon, 29 Apr 2024 at 22:22, Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Mon, 29 Apr 2024 15:16:57 +0200 Daniel Borkmann wrote:
> >       tools: Add ethtool.h header to tooling infra
>
> Could you follow up to remove this header?
> Having to keep multiple headers in sync is annoying, and using
> 'make headers' or including in-tree headers directly is not rocket
> science.

Just because I am curious, what was the reason/history behind the
tools/include directory to start with? Most headers seem to be copies
there.

Thanks: Magnus

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: pull-request: bpf-next 2024-04-29
  2024-04-30  8:16   ` Magnus Karlsson
@ 2024-04-30 13:45     ` Jakub Kicinski
  0 siblings, 0 replies; 7+ messages in thread
From: Jakub Kicinski @ 2024-04-30 13:45 UTC (permalink / raw
  To: Magnus Karlsson
  Cc: Daniel Borkmann, davem, pabeni, edumazet, ast, andrii, martin.lau,
	netdev, bpf

On Tue, 30 Apr 2024 10:16:33 +0200 Magnus Karlsson wrote:
> > Could you follow up to remove this header?
> > Having to keep multiple headers in sync is annoying, and using
> > 'make headers' or including in-tree headers directly is not rocket
> > science.  
> 
> Just because I am curious, what was the reason/history behind the
> tools/include directory to start with? Most headers seem to be copies
> there.

I think it started as folks copying a handful of headers for perf tool
and snowballed from there. By the time I pulled this the copy of
ethtool.h was already out of date. So is if_xdp.h, BTW, as I am
reminded every time I built networking selftests. 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-04-30 13:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-29 13:16 pull-request: bpf-next 2024-04-29 Daniel Borkmann
2024-04-29 20:22 ` Jakub Kicinski
2024-04-29 21:14   ` Daniel Borkmann
2024-04-30  8:03     ` Vyavahare, Tushar
2024-04-30  8:16   ` Magnus Karlsson
2024-04-30 13:45     ` Jakub Kicinski
2024-04-29 20:30 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).