pull-request: bpf-next 2022-02-17

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi David, hi Jakub,

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

We've added 29 non-merge commits during the last 8 day(s) which contain
a total of 34 files changed, 1502 insertions(+), 524 deletions(-).

The main changes are:

1) Add BTFGen support to bpftool which allows to use CO-RE in kernels without
   BTF info, from Mauricio Vásquez, Rafael David Tinoco, Lorenzo Fontana and
   Leonardo Di Donato. (Details: https://lpc.events/event/11/contributions/948/)

2) Prepare light skeleton to be used in both kernel module and user space
   and convert bpf_preload.ko to use light skeleton, from Alexei Starovoitov.

3) Rework bpftool's versioning scheme and align with libbpf's version number;
   also add linked libbpf version info to "bpftool version", from Quentin Monnet.

4) Add minimal C++ specific additions to bpftool's skeleton codegen to
   facilitate use of C skeletons in C++ applications, from Andrii Nakryiko.

5) Add BPF verifier sanity check whether relative offset on kfunc calls overflows
   desc->imm and reject the BPF program if the case, from Hou Tao.

6) Fix libbpf to use a dynamically allocated buffer for netlink messages to
   avoid receiving truncated messages on some archs, from Toke Høiland-Jørgensen.

7) Various follow-up fixes to the JIT bpf_prog_pack allocator, from Song Liu.

8) Various BPF selftest and vmtest.sh fixes, from Yucong Sun.

9) Fix bpftool pretty print handling on dumping map keys/values when no BTF
   is available, from Jiri Olsa and Yinjun Zhang.

10) Extend XDP frags selftest to check for invalid length, from Lorenzo Bianconi.

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:

Alexei Starovoitov, Andrii Nakryiko, Jiri Olsa, Kumar Kartikeya Dwivedi, 
Niklas Söderlund, Stephen Rothwell, Toke Høiland-Jørgensen, Yonghong 
Song, Zhiqian Guan

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

The following changes since commit 4f5e483b8c7a644733db941a1ae00173baa7b463:

  net: dsa: qca8k: fix noderef.cocci warnings (2022-02-10 10:56:00 -0800)

are available in the Git repository at:

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

for you to fetch changes up to d24d2a2b0a81dd5e9bb99aeb4559ec9734e1416f:

  bpf: bpf_prog_pack: Set proper size before freeing ro_header (2022-02-17 13:15:36 -0800)

----------------------------------------------------------------
Alexei Starovoitov (6):
      bpf: Extend sys_bpf commands for bpf_syscall programs.
      libbpf: Prepare light skeleton for the kernel.
      bpftool: Generalize light skeleton generation.
      bpf: Update iterators.lskel.h.
      bpf: Convert bpf_preload.ko to use light skeleton.
      Merge branch 'Make BPF skeleton easier to use from C++ code'

Andrii Nakryiko (8):
      Merge branch 'bpftool: Switch to new versioning scheme (align on libbpf's)'
      libbpf: Fix libbpf.map inheritance chain for LIBBPF_0.7.0
      selftests/bpf: Fix GCC11 compiler warnings in -O2 mode
      bpftool: Add C++-specific open/load/etc skeleton wrappers
      selftests/bpf: Add Skeleton templated wrapper as an example
      Merge branch 'libbpf: Implement BTFGen'
      bpftool: Fix C++ additions to skeleton
      libbpf: Fix memleak in libbpf_netlink_recv()

Daniel Borkmann (1):
      Merge branch 'bpf-light-skel'

Hou Tao (1):
      bpf: Reject kfunc calls that overflow insn->imm

Jiri Olsa (1):
      bpftool: Fix pretty print dump for maps without BTF loaded

Lorenzo Bianconi (1):
      selftest/bpf: Check invalid length in test_xdp_update_frags

Mauricio Vásquez (6):
      libbpf: Split bpf_core_apply_relo()
      libbpf: Expose bpf_core_{add,free}_cands() to bpftool
      bpftool: Add gen min_core_btf command
      bpftool: Implement "gen min_core_btf" logic
      bpftool: Implement btfgen_get_btf()
      selftests/bpf: Test "bpftool gen min_core_btf"

Quentin Monnet (2):
      bpftool: Add libbpf's version number to "bpftool version" output
      bpftool: Update versioning scheme, align on libbpf's version number

Rafael David Tinoco (1):
      bpftool: Gen min_core_btf explanation and examples

Song Liu (2):
      bpf: Fix bpf_prog_pack build for ppc64_defconfig
      bpf: bpf_prog_pack: Set proper size before freeing ro_header

Toke Høiland-Jørgensen (1):
      libbpf: Use dynamically allocated buffer when receiving netlink messages

Yinjun Zhang (1):
      bpftool: Fix the error when lookup in no-btf maps

Yucong Sun (2):
      selftests/bpf: Fix vmtest.sh to launch smp vm.
      selftests/bpf: Fix crash in core_reloc when bpftool btfgen fails

 kernel/bpf/btf.c                                   |  13 +-
 kernel/bpf/core.c                                  |   5 +-
 kernel/bpf/inode.c                                 |  39 +-
 kernel/bpf/preload/Kconfig                         |   7 +-
 kernel/bpf/preload/Makefile                        |  14 +-
 kernel/bpf/preload/bpf_preload.h                   |   8 +-
 kernel/bpf/preload/bpf_preload_kern.c              | 119 ++--
 kernel/bpf/preload/bpf_preload_umd_blob.S          |   7 -
 kernel/bpf/preload/iterators/bpf_preload_common.h  |  13 -
 kernel/bpf/preload/iterators/iterators.c           | 108 ----
 kernel/bpf/preload/iterators/iterators.lskel.h     | 141 +++--
 kernel/bpf/syscall.c                               |  40 +-
 kernel/bpf/verifier.c                              |  11 +-
 tools/bpf/bpftool/Documentation/bpftool-gen.rst    |  90 +++
 tools/bpf/bpftool/Documentation/common_options.rst |  13 +-
 tools/bpf/bpftool/Makefile                         |  14 +-
 tools/bpf/bpftool/bash-completion/bpftool          |   6 +-
 tools/bpf/bpftool/gen.c                            | 654 ++++++++++++++++++++-
 tools/bpf/bpftool/main.c                           |  25 +
 tools/bpf/bpftool/map.c                            |  33 +-
 tools/lib/bpf/gen_loader.c                         |  15 +-
 tools/lib/bpf/libbpf.c                             |  88 +--
 tools/lib/bpf/libbpf.map                           |   2 +-
 tools/lib/bpf/libbpf_internal.h                    |   9 +
 tools/lib/bpf/netlink.c                            |  63 +-
 tools/lib/bpf/relo_core.c                          |  79 +--
 tools/lib/bpf/relo_core.h                          |  42 +-
 tools/lib/bpf/skel_internal.h                      | 185 +++++-
 tools/testing/selftests/bpf/prog_tests/btf.c       |   2 +-
 .../testing/selftests/bpf/prog_tests/core_reloc.c  |  52 +-
 .../testing/selftests/bpf/prog_tests/tc_redirect.c |   2 +-
 .../selftests/bpf/prog_tests/xdp_adjust_frags.c    |  38 +-
 tools/testing/selftests/bpf/test_cpp.cpp           |  87 ++-
 tools/testing/selftests/bpf/vmtest.sh              |   2 +-
 34 files changed, 1502 insertions(+), 524 deletions(-)
 delete mode 100644 kernel/bpf/preload/bpf_preload_umd_blob.S
 delete mode 100644 kernel/bpf/preload/iterators/bpf_preload_common.h
 delete mode 100644 kernel/bpf/preload/iterators/iterators.c



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux