lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Tue,  1 Sep 2020 21:49:50 +0200
From:   Daniel Borkmann <daniel@...earbox.net>
To:     davem@...emloft.net
Cc:     kuba@...nel.org, daniel@...earbox.net, ast@...nel.org,
        netdev@...r.kernel.org, bpf@...r.kernel.org
Subject: pull-request: bpf-next 2020-09-01

Hi David,

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

There are two small conflicts when pulling, resolve as follows:

1) Merge conflict in tools/lib/bpf/libbpf.c between 88a82120282b ("libbpf: Factor
   out common ELF operations and improve logging") in bpf-next and 1e891e513e16
   ("libbpf: Fix map index used in error message") in net-next. Resolve by taking
   the hunk in bpf-next:

        [...]
        scn = elf_sec_by_idx(obj, obj->efile.btf_maps_shndx);
        data = elf_sec_data(obj, scn);
        if (!scn || !data) {
                pr_warn("elf: failed to get %s map definitions for %s\n",
                        MAPS_ELF_SEC, obj->path);
                return -EINVAL;
        }
        [...]

2) Merge conflict in drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c between
   9647c57b11e5 ("xsk: i40e: ice: ixgbe: mlx5: Test for dma_need_sync earlier for
   better performance") in bpf-next and e20f0dbf204f ("net/mlx5e: RX, Add a prefetch
   command for small L1_CACHE_BYTES") in net-next. Resolve the two locations by retaining
   net_prefetch() and taking xsk_buff_dma_sync_for_cpu() from bpf-next. Should look like:

        [...]
        xdp_set_data_meta_invalid(xdp);
        xsk_buff_dma_sync_for_cpu(xdp, rq->xsk_pool);
        net_prefetch(xdp->data);
        [...]

We've added 133 non-merge commits during the last 14 day(s) which contain
a total of 246 files changed, 13832 insertions(+), 3105 deletions(-).

The main changes are:

1) Initial support for sleepable BPF programs along with bpf_copy_from_user() helper
   for tracing to reliably access user memory, from Alexei Starovoitov.

2) Add BPF infra for writing and parsing TCP header options, from Martin KaFai Lau.

3) bpf_d_path() helper for returning full path for given 'struct path', from Jiri Olsa.

4) AF_XDP support for shared umems between devices and queues, from Magnus Karlsson.

5) Initial prep work for full BPF-to-BPF call support in libbpf, from Andrii Nakryiko.

6) Generalize bpf_sk_storage map & add local storage for inodes, from KP Singh.

7) Implement sockmap/hash updates from BPF context, from Lorenz Bauer.

8) BPF xor verification for scalar types & add BPF link iterator, from Yonghong Song.

9) Use target's prog type for BPF_PROG_TYPE_EXT prog verification, from Udip Pant.

10) Rework BPF tracing samples to use libbpf loader, from Daniel T. Lee.

11) Fix xdpsock sample to really cycle through all buffers, from Weqaar Janjua.

12) Improve type safety for tun/veth XDP frame handling, from Maciej Żenczykowski.

13) Various smaller cleanups and improvements all over the place.

Please consider pulling these changes from:

  git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git

Thanks a lot!

Also thanks to reporters, reviewers and testers of commits in this pull-request:

Alan Maguire, Alexei Starovoitov, Andrii Nakryiko, Björn Töpel, Eric 
Dumazet, Jesper Dangaard Brouer, Jiri Olsa, John Fastabend, Josef Bacik, 
kernel test robot, KP Singh, Martin KaFai Lau, Naresh Kamboju, Paul E. 
McKenney, Song Liu, Toke Høiland-Jørgensen, Yonghong Song

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

The following changes since commit e3ec1e8ca02b7e6c935bba3f9b6da86c2e57d2eb:

  net: eliminate meaningless memcpy to data in pskb_carve_inside_nonlinear() (2020-08-18 15:55:24 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git 

for you to fetch changes up to ebc4ecd48ca6552b223047839f66e9a9c09aea4c:

  bpf: {cpu,dev}map: Change various functions return type from int to void (2020-09-01 15:45:58 +0200)

----------------------------------------------------------------
Alex Gartrell (1):
      libbpf: Fix unintentional success return code in bpf_object__load

Alexei Starovoitov (20):
      Merge branch 'libbpf-probing-improvements'
      Merge branch 'libbpf-minimize-feature-detection'
      Merge branch 'type-and-enum-value-relos'
      bpf: Factor out bpf_link_by_id() helper.
      bpf: Add BPF program and map iterators as built-in BPF programs.
      bpf: Add kernel module with user mode driver that populates bpffs.
      selftests/bpf: Add bpffs preload test.
      Merge branch 'link_query-bpf_iter'
      Merge branch 'update-sockmap-from-prog'
      Merge branch 'bpf-tcp-header-opts'
      bpf: Disallow BPF_PRELOAD in allmodconfig builds
      Merge branch 'resolve_prog_type'
      mm/error_inject: Fix allow_error_inject function signatures.
      bpf: Introduce sleepable BPF programs
      bpf: Add bpf_copy_from_user() helper.
      libbpf: Support sleepable progs
      selftests/bpf: Add sleepable tests
      bpf: Fix build without BPF_SYSCALL, but with BPF_JIT.
      bpf: Fix build without BPF_LSM.
      bpf: Remove bpf_lsm_file_mprotect from sleepable list.

Andrii Nakryiko (33):
      libbpf: Disable -Wswitch-enum compiler warning
      libbpf: Make kernel feature probing lazy
      libbpf: Factor out common logic of testing and closing FD
      libbpf: Sanitize BPF program code for bpf_probe_read_{kernel, user}[_str]
      selftests/bpf: Fix test_vmlinux test to use bpf_probe_read_user()
      libbpf: Switch tracing and CO-RE helper macros to bpf_probe_read_kernel()
      libbpf: Detect minimal BTF support and skip BTF loading, if missing
      libbpf: Improve error logging for mismatched BTF kind cases
      libbpf: Clean up and improve CO-RE reloc logging
      libbpf: Improve relocation ambiguity detection
      selftests/bpf: Add test validating failure on ambiguous relocation value
      libbpf: Remove any use of reallocarray() in libbpf
      tools/bpftool: Remove libbpf_internal.h usage in bpftool
      libbpf: Centralize poisoning and poison reallocarray()
      tools: Remove feature-libelf-mmap feature detection
      libbpf: Implement type-based CO-RE relocations support
      selftests/bpf: Test TYPE_EXISTS and TYPE_SIZE CO-RE relocations
      selftests/bpf: Add CO-RE relo test for TYPE_ID_LOCAL/TYPE_ID_TARGET
      libbpf: Implement enum value-based CO-RE relocations
      selftests/bpf: Add tests for ENUMVAL_EXISTS/ENUMVAL_VALUE relocations
      libbpf: Fix detection of BPF helper call instruction
      libbpf: Fix libbpf build on compilers missing __builtin_mul_overflow
      selftests/bpf: Fix two minor compilation warnings reported by GCC 4.9
      selftests/bpf: List newest Clang built-ins needed for some CO-RE selftests
      libbpf: Add perf_buffer APIs for better integration with outside epoll loop
      selftests/bpf: BPF object files should depend only on libbpf headers
      libbpf: Factor out common ELF operations and improve logging
      libbpf: Add __noinline macro to bpf_helpers.h
      libbpf: Skip well-known ELF sections when iterating ELF
      libbpf: Normalize and improve logging across few functions
      libbpf: Avoid false unuinitialized variable warning in bpf_core_apply_relo
      libbpf: Fix type compatibility check copy-paste error
      libbpf: Fix compilation warnings for 64-bit printf args

Björn Töpel (1):
      bpf: {cpu,dev}map: Change various functions return type from int to void

Colin Ian King (1):
      selftests/bpf: Fix spelling mistake "scoket" -> "socket"

Cristian Dumitrescu (1):
      samples/bpf: Add new sample xsk_fwd.c

Daniel Borkmann (2):
      Merge branch 'bpf-umd-debug'
      Merge branch 'bpf-sleepable'

Daniel T. Lee (4):
      samples: bpf: Fix broken bpf programs due to removed symbol
      samples: bpf: Cleanup bpf_load.o from Makefile
      samples: bpf: Refactor kprobe tracing programs with libbpf
      samples: bpf: Refactor tracepoint tracing programs with libbpf

Jakub Sitnicki (1):
      bpf: sk_lookup: Add user documentation

Jesper Dangaard Brouer (1):
      tools, bpf/build: Cleanup feature files on make clean

Jianlin Lv (1):
      docs: Correct subject prefix and update LLVM info

Jiri Olsa (15):
      tools resolve_btfids: Add size check to get_id function
      tools resolve_btfids: Add support for set symbols
      bpf: Move btf_resolve_size into __btf_resolve_size
      bpf: Add elem_id pointer as argument to __btf_resolve_size
      bpf: Add type_id pointer as argument to __btf_resolve_size
      bpf: Remove recursion call in btf_struct_access
      bpf: Factor btf_struct_access function
      bpf: Add btf_struct_ids_match function
      bpf: Add BTF_SET_START/END macros
      bpf: Add d_path helper
      bpf: Update .BTF_ids section in btf.rst with sets info
      selftests/bpf: Add verifier test for d_path helper
      selftests/bpf: Add test for d_path helper
      selftests/bpf: Add set test to resolve_btfids
      selftests/bpf: Fix open call in trigger_fstat_events

KP Singh (7):
      bpf: Renames in preparation for bpf_local_storage
      bpf: Generalize caching for sk_storage.
      bpf: Generalize bpf_sk_storage
      bpf: Split bpf_local_storage to bpf_sk_storage
      bpf: Implement bpf_local_storage for inodes
      bpf: Allow local storage to be used from LSM programs
      bpf: Add selftests for local_storage

Lorenz Bauer (7):
      net: sk_msg: Simplify sk_psock initialization
      bpf: sockmap: Merge sockmap and sockhash update functions
      bpf: sockmap: Call sock_map_update_elem directly
      bpf: Override the meaning of ARG_PTR_TO_MAP_VALUE for sockmap and sockhash
      bpf: sockmap: Allow update from BPF
      selftests: bpf: Test sockmap update from BPF
      selftests: bpf: Fix sockmap update nits

Maciej Żenczykowski (3):
      net-tun: Add type safety to tun_xdp_to_ptr() and tun_ptr_to_xdp()
      net-tun: Eliminate two tun/xdp related function calls from vhost-net
      net-veth: Add type safety to veth_xdp_to_ptr() and veth_ptr_to_xdp()

Magnus Karlsson (15):
      xsk: i40e: ice: ixgbe: mlx5: Pass buffer pool to driver instead of umem
      xsk: i40e: ice: ixgbe: mlx5: Rename xsk zero-copy driver interfaces
      xsk: Create and free buffer pool independently from umem
      xsk: Move fill and completion rings to buffer pool
      xsk: Move queue_id, dev and need_wakeup to buffer pool
      xsk: Move xsk_tx_list and its lock to buffer pool
      xsk: Move addrs from buffer pool to umem
      xsk: Enable sharing of dma mappings
      xsk: Rearrange internal structs for better performance
      xsk: i40e: ice: ixgbe: mlx5: Test for dma_need_sync earlier for better performance
      xsk: Add shared umem support between queue ids
      xsk: Add shared umem support between devices
      libbpf: Support shared umems between queues and devices
      xsk: Documentation for XDP_SHARED_UMEM between queues and netdevs
      samples/bpf: Optimize l2fwd performance in xdpsock

Martin KaFai Lau (15):
      tcp: Use a struct to represent a saved_syn
      tcp: bpf: Add TCP_BPF_DELACK_MAX setsockopt
      tcp: bpf: Add TCP_BPF_RTO_MIN for bpf_setsockopt
      tcp: Add saw_unknown to struct tcp_options_received
      bpf: tcp: Add bpf_skops_established()
      bpf: tcp: Add bpf_skops_parse_hdr()
      bpf: tcp: Add bpf_skops_hdr_opt_len() and bpf_skops_write_hdr_opt()
      bpf: sock_ops: Change some members of sock_ops_kern from u32 to u8
      bpf: tcp: Allow bpf prog to write and parse TCP header option
      bpf: selftests: Add fastopen_connect to network_helpers
      bpf: selftests: Tcp header options
      tcp: bpf: Optionally store mac header in TCP_SAVE_SYN
      bpf: Add map_meta_equal map ops
      bpf: Relax max_entries check for most of the inner map types
      bpf: selftests: Add test for different inner map size

Udip Pant (4):
      bpf: verifier: Use target program's type for access verifications
      selftests/bpf: Add test for freplace program with write access
      selftests/bpf: Test for checking return code for the extended prog
      selftests/bpf: Test for map update access from within EXT programs

Weqaar Janjua (1):
      samples/bpf: Fix to xdpsock to avoid recycling frames

Xu Wang (2):
      libbpf: Convert comma to semicolon
      libbpf: Simplify the return expression of build_map_pin_path()

Yonghong Song (7):
      bpf: Implement link_query for bpf iterators
      bpf: Implement link_query callbacks in map element iterators
      bpftool: Implement link_query for bpf iterators
      selftests/bpf: Enable tc verbose mode for test_sk_assign
      bpf: Fix a verifier failure with xor
      selftests/bpf: Add verifier tests for xor operation
      bpf: Make bpf_link_info.iter similar to bpf_iter_link_info

 Documentation/bpf/bpf_devel_QA.rst                 |   19 +-
 Documentation/bpf/btf.rst                          |   25 +
 Documentation/bpf/index.rst                        |    1 +
 Documentation/bpf/prog_sk_lookup.rst               |   98 ++
 Documentation/networking/af_xdp.rst                |   68 +-
 arch/x86/net/bpf_jit_comp.c                        |   32 +-
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     |    2 +-
 drivers/net/ethernet/intel/i40e/i40e_main.c        |   29 +-
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        |   10 +-
 drivers/net/ethernet/intel/i40e/i40e_txrx.h        |    2 +-
 drivers/net/ethernet/intel/i40e/i40e_xsk.c         |   81 +-
 drivers/net/ethernet/intel/i40e/i40e_xsk.h         |    4 +-
 drivers/net/ethernet/intel/ice/ice.h               |   18 +-
 drivers/net/ethernet/intel/ice/ice_base.c          |   16 +-
 drivers/net/ethernet/intel/ice/ice_lib.c           |    2 +-
 drivers/net/ethernet/intel/ice/ice_main.c          |   10 +-
 drivers/net/ethernet/intel/ice/ice_txrx.c          |    8 +-
 drivers/net/ethernet/intel/ice/ice_txrx.h          |    2 +-
 drivers/net/ethernet/intel/ice/ice_xsk.c           |  138 +-
 drivers/net/ethernet/intel/ice/ice_xsk.h           |    7 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe.h           |    2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |   34 +-
 .../net/ethernet/intel/ixgbe/ixgbe_txrx_common.h   |    7 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c       |   63 +-
 drivers/net/ethernet/mellanox/mlx5/core/Makefile   |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |   19 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c   |    5 +-
 .../mellanox/mlx5/core/en/xsk/{umem.c => pool.c}   |  110 +-
 .../net/ethernet/mellanox/mlx5/core/en/xsk/pool.h  |   27 +
 .../net/ethernet/mellanox/mlx5/core/en/xsk/rx.c    |    4 +-
 .../net/ethernet/mellanox/mlx5/core/en/xsk/rx.h    |   10 +-
 .../net/ethernet/mellanox/mlx5/core/en/xsk/setup.c |   12 +-
 .../net/ethernet/mellanox/mlx5/core/en/xsk/setup.h |    2 +-
 .../net/ethernet/mellanox/mlx5/core/en/xsk/tx.c    |   14 +-
 .../net/ethernet/mellanox/mlx5/core/en/xsk/tx.h    |    6 +-
 .../net/ethernet/mellanox/mlx5/core/en/xsk/umem.h  |   29 -
 .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |    2 +-
 .../ethernet/mellanox/mlx5/core/en_fs_ethtool.c    |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |   49 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c    |   16 +-
 drivers/net/tun.c                                  |   18 -
 drivers/net/veth.c                                 |    6 +-
 include/linux/bpf-cgroup.h                         |   25 +
 include/linux/bpf.h                                |   52 +
 include/linux/bpf_local_storage.h                  |  163 ++
 include/linux/bpf_lsm.h                            |   29 +
 include/linux/bpf_types.h                          |    3 +
 include/linux/btf.h                                |    3 +-
 include/linux/btf_ids.h                            |   51 +-
 include/linux/filter.h                             |    8 +-
 include/linux/if_tun.h                             |   19 +-
 include/linux/netdevice.h                          |   10 +-
 include/linux/rcupdate_trace.h                     |    9 +-
 include/linux/skmsg.h                              |   17 -
 include/linux/tcp.h                                |   20 +-
 include/net/bpf_sk_storage.h                       |   14 +
 include/net/inet_connection_sock.h                 |    2 +
 include/net/request_sock.h                         |    9 +-
 include/net/sock.h                                 |    4 +-
 include/net/tcp.h                                  |   59 +-
 include/net/xdp_sock.h                             |   30 +-
 include/net/xdp_sock_drv.h                         |  122 +-
 include/net/xsk_buff_pool.h                        |   53 +-
 include/uapi/linux/bpf.h                           |  398 ++++-
 init/Kconfig                                       |    3 +
 kernel/Makefile                                    |    2 +-
 kernel/bpf/Makefile                                |    3 +
 kernel/bpf/arraymap.c                              |   17 +
 kernel/bpf/bpf_inode_storage.c                     |  274 +++
 kernel/bpf/bpf_iter.c                              |   58 +
 kernel/bpf/bpf_local_storage.c                     |  600 +++++++
 kernel/bpf/bpf_lsm.c                               |   21 +-
 kernel/bpf/bpf_struct_ops.c                        |    6 +-
 kernel/bpf/btf.c                                   |  163 +-
 kernel/bpf/cpumap.c                                |   12 +-
 kernel/bpf/devmap.c                                |   17 +-
 kernel/bpf/hashtab.c                               |   16 +-
 kernel/bpf/helpers.c                               |   22 +
 kernel/bpf/inode.c                                 |  116 +-
 kernel/bpf/lpm_trie.c                              |    1 +
 kernel/bpf/map_in_map.c                            |   24 +-
 kernel/bpf/map_in_map.h                            |    2 -
 kernel/bpf/map_iter.c                              |   15 +
 kernel/bpf/preload/Kconfig                         |   26 +
 kernel/bpf/preload/Makefile                        |   23 +
 kernel/bpf/preload/bpf_preload.h                   |   16 +
 kernel/bpf/preload/bpf_preload_kern.c              |   91 +
 kernel/bpf/preload/bpf_preload_umd_blob.S          |    7 +
 kernel/bpf/preload/iterators/.gitignore            |    2 +
 kernel/bpf/preload/iterators/Makefile              |   57 +
 kernel/bpf/preload/iterators/README                |    4 +
 kernel/bpf/preload/iterators/bpf_preload_common.h  |   13 +
 kernel/bpf/preload/iterators/iterators.bpf.c       |  114 ++
 kernel/bpf/preload/iterators/iterators.c           |   94 ++
 kernel/bpf/preload/iterators/iterators.skel.h      |  410 +++++
 kernel/bpf/queue_stack_maps.c                      |    2 +
 kernel/bpf/reuseport_array.c                       |    1 +
 kernel/bpf/ringbuf.c                               |    1 +
 kernel/bpf/stackmap.c                              |    1 +
 kernel/bpf/syscall.c                               |   68 +-
 kernel/bpf/trampoline.c                            |   29 +-
 kernel/bpf/verifier.c                              |  283 +++-
 kernel/trace/bpf_trace.c                           |   50 +
 mm/filemap.c                                       |    8 +-
 mm/page_alloc.c                                    |    2 +-
 net/bpfilter/Kconfig                               |    1 +
 net/core/bpf_sk_storage.c                          |  833 ++-------
 net/core/filter.c                                  |  416 ++++-
 net/core/skmsg.c                                   |   34 +-
 net/core/sock_map.c                                |   91 +-
 net/ethtool/channels.c                             |    2 +-
 net/ethtool/ioctl.c                                |    2 +-
 net/ipv4/tcp.c                                     |   16 +-
 net/ipv4/tcp_bpf.c                                 |   13 +-
 net/ipv4/tcp_fastopen.c                            |    2 +-
 net/ipv4/tcp_input.c                               |  127 +-
 net/ipv4/tcp_ipv4.c                                |    5 +-
 net/ipv4/tcp_minisocks.c                           |    1 +
 net/ipv4/tcp_output.c                              |  193 ++-
 net/ipv4/udp_bpf.c                                 |    9 +-
 net/ipv6/tcp_ipv6.c                                |    5 +-
 net/xdp/xdp_umem.c                                 |  225 +--
 net/xdp/xdp_umem.h                                 |    6 -
 net/xdp/xsk.c                                      |  213 ++-
 net/xdp/xsk.h                                      |   10 +-
 net/xdp/xsk_buff_pool.c                            |  380 ++++-
 net/xdp/xsk_diag.c                                 |   16 +-
 net/xdp/xsk_queue.h                                |   12 +-
 net/xdp/xskmap.c                                   |    8 +
 samples/bpf/Makefile                               |   21 +-
 samples/bpf/cpustat_kern.c                         |   36 +-
 samples/bpf/cpustat_user.c                         |   47 +-
 samples/bpf/lathist_kern.c                         |   24 +-
 samples/bpf/lathist_user.c                         |   42 +-
 samples/bpf/offwaketime_kern.c                     |   52 +-
 samples/bpf/offwaketime_user.c                     |   66 +-
 samples/bpf/spintest_kern.c                        |   36 +-
 samples/bpf/spintest_user.c                        |   68 +-
 samples/bpf/syscall_tp_kern.c                      |   24 +-
 samples/bpf/syscall_tp_user.c                      |   54 +-
 samples/bpf/task_fd_query_kern.c                   |    2 +-
 samples/bpf/task_fd_query_user.c                   |    2 +-
 samples/bpf/test_current_task_under_cgroup_kern.c  |   27 +-
 samples/bpf/test_current_task_under_cgroup_user.c  |   52 +-
 samples/bpf/test_probe_write_user_kern.c           |   12 +-
 samples/bpf/test_probe_write_user_user.c           |   49 +-
 samples/bpf/trace_output_kern.c                    |   15 +-
 samples/bpf/trace_output_user.c                    |   55 +-
 samples/bpf/tracex3_kern.c                         |    2 +-
 samples/bpf/xdpsock_user.c                         |   32 +-
 samples/bpf/xsk_fwd.c                              | 1085 ++++++++++++
 scripts/bpf_helpers_doc.py                         |    2 +
 security/bpf/hooks.c                               |    6 +
 tools/bpf/bpftool/Documentation/bpftool-map.rst    |    2 +-
 tools/bpf/bpftool/Makefile                         |    6 +-
 tools/bpf/bpftool/bash-completion/bpftool          |    3 +-
 tools/bpf/bpftool/gen.c                            |    2 -
 tools/bpf/bpftool/link.c                           |   44 +-
 tools/bpf/bpftool/map.c                            |    3 +-
 tools/bpf/bpftool/net.c                            |  299 +++-
 tools/bpf/resolve_btfids/main.c                    |   29 +-
 tools/build/Makefile                               |    2 +
 tools/build/Makefile.feature                       |    1 -
 tools/build/feature/Makefile                       |    4 -
 tools/build/feature/test-all.c                     |    4 -
 tools/build/feature/test-libelf-mmap.c             |    9 -
 tools/include/linux/btf_ids.h                      |   51 +-
 tools/include/uapi/linux/bpf.h                     |  398 ++++-
 tools/lib/bpf/Makefile                             |   23 +-
 tools/lib/bpf/bpf.c                                |    3 -
 tools/lib/bpf/bpf_core_read.h                      |  120 +-
 tools/lib/bpf/bpf_helpers.h                        |    3 +
 tools/lib/bpf/bpf_prog_linfo.c                     |    3 -
 tools/lib/bpf/bpf_tracing.h                        |    4 +-
 tools/lib/bpf/btf.c                                |   31 +-
 tools/lib/bpf/btf.h                                |   38 -
 tools/lib/bpf/btf_dump.c                           |    9 +-
 tools/lib/bpf/hashmap.c                            |    3 +
 tools/lib/bpf/libbpf.c                             | 1759 ++++++++++++++------
 tools/lib/bpf/libbpf.h                             |    4 +
 tools/lib/bpf/libbpf.map                           |    9 +
 tools/lib/bpf/libbpf_internal.h                    |  138 +-
 tools/lib/bpf/libbpf_probes.c                      |    8 +-
 tools/lib/bpf/netlink.c                            |  128 +-
 tools/lib/bpf/nlattr.c                             |    9 +-
 tools/lib/bpf/ringbuf.c                            |    8 +-
 tools/lib/bpf/xsk.c                                |  379 +++--
 tools/lib/bpf/xsk.h                                |    9 +
 tools/perf/Makefile.config                         |    4 -
 tools/perf/util/symbol.h                           |    2 +-
 tools/testing/selftests/bpf/Makefile               |    2 +-
 tools/testing/selftests/bpf/README.rst             |   21 +
 tools/testing/selftests/bpf/bench.c                |    2 +
 tools/testing/selftests/bpf/benchs/bench_trigger.c |   17 +
 tools/testing/selftests/bpf/network_helpers.c      |   37 +
 tools/testing/selftests/bpf/network_helpers.h      |    2 +
 .../selftests/bpf/prog_tests/btf_map_in_map.c      |   35 +-
 .../testing/selftests/bpf/prog_tests/core_reloc.c  |  350 +++-
 tools/testing/selftests/bpf/prog_tests/d_path.c    |  147 ++
 .../selftests/bpf/prog_tests/fexit_bpf2bpf.c       |   68 +
 .../testing/selftests/bpf/prog_tests/perf_buffer.c |   65 +-
 .../selftests/bpf/prog_tests/resolve_btfids.c      |   39 +-
 tools/testing/selftests/bpf/prog_tests/sk_assign.c |    5 +-
 .../selftests/bpf/prog_tests/sockmap_basic.c       |   76 +
 .../selftests/bpf/prog_tests/tcp_hdr_options.c     |  622 +++++++
 .../testing/selftests/bpf/prog_tests/test_bpffs.c  |   94 ++
 .../selftests/bpf/prog_tests/test_local_storage.c  |   60 +
 tools/testing/selftests/bpf/prog_tests/test_lsm.c  |    9 +
 .../selftests/bpf/progs/btf__core_reloc_enumval.c  |    3 +
 .../bpf/progs/btf__core_reloc_enumval___diff.c     |    3 +
 .../progs/btf__core_reloc_enumval___err_missing.c  |    3 +
 .../progs/btf__core_reloc_enumval___val3_missing.c |    3 +
 .../progs/btf__core_reloc_size___err_ambiguous.c   |    4 +
 .../bpf/progs/btf__core_reloc_type_based.c         |    3 +
 .../btf__core_reloc_type_based___all_missing.c     |    3 +
 .../progs/btf__core_reloc_type_based___diff_sz.c   |    3 +
 .../btf__core_reloc_type_based___fn_wrong_args.c   |    3 +
 .../progs/btf__core_reloc_type_based___incompat.c  |    3 +
 .../selftests/bpf/progs/btf__core_reloc_type_id.c  |    3 +
 .../btf__core_reloc_type_id___missing_targets.c    |    3 +
 .../testing/selftests/bpf/progs/core_reloc_types.h |  352 +++-
 tools/testing/selftests/bpf/progs/fexit_bpf2bpf.c  |   27 +
 .../selftests/bpf/progs/freplace_attach_probe.c    |   40 +
 .../selftests/bpf/progs/freplace_cls_redirect.c    |   34 +
 .../selftests/bpf/progs/freplace_connect_v4_prog.c |   19 +
 tools/testing/selftests/bpf/progs/local_storage.c  |  140 ++
 tools/testing/selftests/bpf/progs/lsm.c            |   64 +-
 tools/testing/selftests/bpf/progs/map_ptr_kern.c   |    6 +-
 .../selftests/bpf/progs/test_btf_map_in_map.c      |   31 +
 .../selftests/bpf/progs/test_core_reloc_enumval.c  |   72 +
 .../selftests/bpf/progs/test_core_reloc_kernel.c   |    2 +
 .../bpf/progs/test_core_reloc_type_based.c         |  110 ++
 .../selftests/bpf/progs/test_core_reloc_type_id.c  |  115 ++
 tools/testing/selftests/bpf/progs/test_d_path.c    |   58 +
 .../bpf/progs/test_misc_tcp_hdr_options.c          |  325 ++++
 .../testing/selftests/bpf/progs/test_pkt_access.c  |   20 +
 .../bpf/progs/test_sockmap_invalid_update.c        |   23 +
 .../selftests/bpf/progs/test_sockmap_update.c      |   48 +
 .../selftests/bpf/progs/test_tcp_hdr_options.c     |  623 +++++++
 tools/testing/selftests/bpf/progs/test_vmlinux.c   |   12 +-
 tools/testing/selftests/bpf/progs/trigger_bench.c  |    7 +
 .../selftests/bpf/test_current_pid_tgid_new_ns.c   |    1 +
 tools/testing/selftests/bpf/test_tcp_hdr_options.h |  151 ++
 tools/testing/selftests/bpf/test_verifier.c        |   19 +-
 tools/testing/selftests/bpf/verifier/bounds.c      |  146 ++
 tools/testing/selftests/bpf/verifier/d_path.c      |   37 +
 246 files changed, 13832 insertions(+), 3105 deletions(-)
 create mode 100644 Documentation/bpf/prog_sk_lookup.rst
 rename drivers/net/ethernet/mellanox/mlx5/core/en/xsk/{umem.c => pool.c} (51%)
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.h
 delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/xsk/umem.h
 create mode 100644 include/linux/bpf_local_storage.h
 create mode 100644 kernel/bpf/bpf_inode_storage.c
 create mode 100644 kernel/bpf/bpf_local_storage.c
 create mode 100644 kernel/bpf/preload/Kconfig
 create mode 100644 kernel/bpf/preload/Makefile
 create mode 100644 kernel/bpf/preload/bpf_preload.h
 create mode 100644 kernel/bpf/preload/bpf_preload_kern.c
 create mode 100644 kernel/bpf/preload/bpf_preload_umd_blob.S
 create mode 100644 kernel/bpf/preload/iterators/.gitignore
 create mode 100644 kernel/bpf/preload/iterators/Makefile
 create mode 100644 kernel/bpf/preload/iterators/README
 create mode 100644 kernel/bpf/preload/iterators/bpf_preload_common.h
 create mode 100644 kernel/bpf/preload/iterators/iterators.bpf.c
 create mode 100644 kernel/bpf/preload/iterators/iterators.c
 create mode 100644 kernel/bpf/preload/iterators/iterators.skel.h
 create mode 100644 samples/bpf/xsk_fwd.c
 delete mode 100644 tools/build/feature/test-libelf-mmap.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/d_path.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/tcp_hdr_options.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/test_bpffs.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/test_local_storage.c
 create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_enumval.c
 create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_enumval___diff.c
 create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_enumval___err_missing.c
 create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_enumval___val3_missing.c
 create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_size___err_ambiguous.c
 create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_type_based.c
 create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_type_based___all_missing.c
 create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_type_based___diff_sz.c
 create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_type_based___fn_wrong_args.c
 create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_type_based___incompat.c
 create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_type_id.c
 create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_type_id___missing_targets.c
 create mode 100644 tools/testing/selftests/bpf/progs/freplace_attach_probe.c
 create mode 100644 tools/testing/selftests/bpf/progs/freplace_cls_redirect.c
 create mode 100644 tools/testing/selftests/bpf/progs/freplace_connect_v4_prog.c
 create mode 100644 tools/testing/selftests/bpf/progs/local_storage.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_core_reloc_enumval.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_core_reloc_type_based.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_core_reloc_type_id.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_d_path.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_misc_tcp_hdr_options.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_sockmap_invalid_update.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_sockmap_update.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_tcp_hdr_options.c
 create mode 100644 tools/testing/selftests/bpf/test_tcp_hdr_options.h
 create mode 100644 tools/testing/selftests/bpf/verifier/d_path.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ