[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20210424022459.16039-1-alexei.starovoitov@gmail.com>
Date: Fri, 23 Apr 2021 19:24:59 -0700
From: Alexei Starovoitov <alexei.starovoitov@...il.com>
To: davem@...emloft.net
Cc: daniel@...earbox.net, andrii@...nel.org, netdev@...r.kernel.org,
bpf@...r.kernel.org, kernel-team@...com
Subject: pull-request: bpf-next 2021-04-23
Hi David, hi Jakub,
The following pull-request contains BPF updates for your *net-next* tree.
We've added 69 non-merge commits during the last 22 day(s) which contain
a total of 69 files changed, 3141 insertions(+), 866 deletions(-).
The main changes are:
1) Add BPF static linker support for extern resolution of global, from Andrii.
2) Refine retval for bpf_get_task_stack helper, from Dave.
3) Add a bpf_snprintf helper, from Florent.
4) A bunch of miscellaneous improvements from many developers.
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, Arnaldo Carvalho de Melo, Jakub
Sitnicki, Jesper Dangaard Brouer, John Fastabend, Lorenz Bauer, Magnus
Karlsson, Martin KaFai Lau, Song Liu, Toke Høiland-Jørgensen, Yonghong
Song
----------------------------------------------------------------
The following changes since commit 82506665179209e43d3c9d39ffa42f8c8ff968bd:
tcp: reorder tcp_congestion_ops for better cache locality (2021-04-02 14:32:27 -0700)
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 350a62ca065be252ababc43a7c96f8aca390a18f:
bpf: Document the pahole release info related to libbpf in bpf_devel_QA.rst (2021-04-23 17:11:58 -0700)
----------------------------------------------------------------
Alexei Starovoitov (6):
libbpf: Remove unused field.
Merge branch 'bpf: tools: support build selftests/bpf with clang'
Merge branch 'Add a snprintf eBPF helper'
Merge branch 'bpf: refine retval for bpf_get_task_stack helper'
Merge branch 'Simplify bpf_snprintf verifier code'
Merge branch 'BPF static linker: support externs'
Andrii Nakryiko (20):
libbpf: Add bpf_map__inner_map API
Merge branch 'bpf/selftests: page size fixes'
bpftool: Support dumping BTF VAR's "extern" linkage
bpftool: Dump more info about DATASEC members
libbpf: Suppress compiler warning when using SEC() macro with externs
libbpf: Mark BPF subprogs with hidden visibility as static for BPF verifier
libbpf: Allow gaps in BPF program sections to support overriden weak functions
libbpf: Refactor BTF map definition parsing
libbpf: Factor out symtab and relos sanity checks
libbpf: Make few internal helpers available outside of libbpf.c
libbpf: Extend sanity checking ELF symbols with externs validation
libbpf: Tighten BTF type ID rewriting with error checking
libbpf: Add linker extern resolution support for functions and global variables
libbpf: Support extern resolution for BTF-defined maps in .maps section
selftests/bpf: Use -O0 instead of -Og in selftests builds
selftests/bpf: Omit skeleton generation for multi-linked BPF object files
selftests/bpf: Add function linking selftest
selftests/bpf: Add global variables linking selftest
selftests/bpf: Add map linking selftest
selftests/bpf: Document latest Clang fix expectations for linking tests
Cong Wang (3):
bpf, udp: Remove some pointless comments
skmsg: Pass psock pointer to ->psock_update_sk_prot()
sock_map: Fix a potential use-after-free in sock_map_close()
Daniel Borkmann (1):
bpf: Sync bpf headers in tooling infrastucture
Dave Marchevsky (3):
bpf: Refine retval for bpf_get_task_stack helper
bpf/selftests: Add bpf_get_task_stack retval bounds verifier test
bpf/selftests: Add bpf_get_task_stack retval bounds test_prog
Florent Revest (9):
selftests/bpf: Fix the ASSERT_ERR_PTR macro
bpf: Factorize bpf_trace_printk and bpf_seq_printf
bpf: Add a ARG_PTR_TO_CONST_STR argument type
bpf: Add a bpf_snprintf helper
libbpf: Initialize the bpf_seq_printf parameters array field by field
libbpf: Introduce a BPF_SNPRINTF helper macro
selftests/bpf: Add a series of tests for bpf_snprintf
bpf: Notify user if we ever hit a bpf_snprintf verifier bug
bpf: Remove unnecessary map checks for ARG_PTR_TO_CONST_STR
He Fengqing (1):
bpf: Remove unused parameter from ___bpf_prog_run
Hengqi Chen (1):
libbpf: Fix KERNEL_VERSION macro
Ilya Leoshkevich (1):
bpf: Generate BTF_KIND_FLOAT when linking vmlinux
Jiri Olsa (1):
selftests/bpf: Add docs target as all dependency
Joe Stringer (1):
bpf: Document PROG_TEST_RUN limitations
John Fastabend (1):
bpf, selftests: test_maps generating unrecognized data section
Li RongQing (1):
xsk: Align XDP socket batch size with DPDK
Martin KaFai Lau (1):
bpf: selftests: Specify CONFIG_DYNAMIC_FTRACE in the testing config
Martin Willi (1):
net, xdp: Update pkt_type if generic XDP changes unicast MAC
Muhammad Usama Anjum (1):
bpf, inode: Remove second initialization of the bpf_preload_lock
Pedro Tammela (1):
libbpf: Clarify flags in ringbuf helpers
Tiezhu Yang (2):
bpf, doc: Fix some invalid links in bpf_devel_QA.rst
bpf: Document the pahole release info related to libbpf in bpf_devel_QA.rst
Toke Høiland-Jørgensen (2):
bpf: Return target info when a tracing bpf_link is queried
selftests/bpf: Add tests for target information in bpf_link info queries
Wan Jiabing (2):
bpf, cgroup: Delete repeated struct bpf_prog declaration
bpf: Remove repeated struct btf_type declaration
Yang Yingliang (1):
libbpf: Remove redundant semi-colon
Yaqi Chen (1):
samples/bpf: Fix broken tracex1 due to kprobe argument change
Yauheni Kaliuta (8):
selftests/bpf: test_progs/sockopt_sk: Remove version
selftests/bpf: test_progs/sockopt_sk: Convert to use BPF skeleton
selftests/bpf: Pass page size from userspace in sockopt_sk
selftests/bpf: Pass page size from userspace in map_ptr
selftests/bpf: mmap: Use runtime page size
selftests/bpf: ringbuf: Use runtime page size
selftests/bpf: ringbuf_multi: Use runtime page size
selftests/bpf: ringbuf_multi: Test bpf_map__set_inner_map_fd
Yonghong Song (5):
selftests: Set CC to clang in lib.mk if LLVM is set
tools: Allow proper CC/CXX/... override with LLVM=1 in Makefile.include
selftests/bpf: Fix test_cpp compilation failure with clang
selftests/bpf: Silence clang compilation warnings
bpftool: Fix a clang compilation warning
zuoqilin (1):
tools/testing: Remove unused variable
Documentation/bpf/bpf_devel_QA.rst | 30 +-
include/linux/bpf-cgroup.h | 1 -
include/linux/bpf.h | 23 +-
include/linux/bpf_verifier.h | 9 +
include/linux/skmsg.h | 5 +-
include/net/sock.h | 5 +-
include/net/tcp.h | 2 +-
include/net/udp.h | 2 +-
include/uapi/linux/bpf.h | 67 ++
kernel/bpf/core.c | 7 +-
kernel/bpf/helpers.c | 306 +++++
kernel/bpf/inode.c | 2 -
kernel/bpf/syscall.c | 3 +
kernel/bpf/verifier.c | 84 ++
kernel/trace/bpf_trace.c | 373 +-----
net/core/dev.c | 6 +-
net/core/sock_map.c | 5 +-
net/ipv4/tcp_bpf.c | 3 +-
net/ipv4/udp_bpf.c | 5 +-
net/xdp/xsk.c | 2 +-
samples/bpf/tracex1_kern.c | 4 +-
scripts/link-vmlinux.sh | 7 +-
tools/bpf/bpftool/btf.c | 30 +-
tools/bpf/bpftool/net.c | 2 +-
tools/include/uapi/linux/bpf.h | 83 +-
tools/lib/bpf/bpf_helpers.h | 21 +-
tools/lib/bpf/bpf_tracing.h | 58 +-
tools/lib/bpf/btf.c | 5 -
tools/lib/bpf/libbpf.c | 396 +++---
tools/lib/bpf/libbpf.h | 1 +
tools/lib/bpf/libbpf.map | 1 +
tools/lib/bpf/libbpf_internal.h | 45 +
tools/lib/bpf/linker.c | 1272 +++++++++++++++++---
tools/scripts/Makefile.include | 12 +-
tools/testing/selftests/bpf/Makefile | 28 +-
tools/testing/selftests/bpf/README.rst | 9 +
tools/testing/selftests/bpf/config | 2 +
tools/testing/selftests/bpf/prog_tests/bpf_iter.c | 1 +
.../selftests/bpf/prog_tests/fexit_bpf2bpf.c | 58 +-
.../testing/selftests/bpf/prog_tests/fexit_sleep.c | 4 +-
.../selftests/bpf/prog_tests/linked_funcs.c | 42 +
.../testing/selftests/bpf/prog_tests/linked_maps.c | 30 +
.../testing/selftests/bpf/prog_tests/linked_vars.c | 43 +
tools/testing/selftests/bpf/prog_tests/map_ptr.c | 15 +-
tools/testing/selftests/bpf/prog_tests/mmap.c | 24 +-
.../selftests/bpf/prog_tests/ns_current_pid_tgid.c | 4 +-
tools/testing/selftests/bpf/prog_tests/ringbuf.c | 17 +-
.../selftests/bpf/prog_tests/ringbuf_multi.c | 37 +-
tools/testing/selftests/bpf/prog_tests/snprintf.c | 125 ++
.../testing/selftests/bpf/prog_tests/sockopt_sk.c | 65 +-
.../selftests/bpf/progs/bpf_iter_task_stack.c | 27 +
tools/testing/selftests/bpf/progs/linked_funcs1.c | 73 ++
tools/testing/selftests/bpf/progs/linked_funcs2.c | 73 ++
tools/testing/selftests/bpf/progs/linked_maps1.c | 82 ++
tools/testing/selftests/bpf/progs/linked_maps2.c | 76 ++
tools/testing/selftests/bpf/progs/linked_vars1.c | 54 +
tools/testing/selftests/bpf/progs/linked_vars2.c | 55 +
tools/testing/selftests/bpf/progs/map_ptr_kern.c | 4 +-
.../selftests/bpf/progs/sockmap_tcp_msg_prog.c | 12 -
tools/testing/selftests/bpf/progs/sockopt_sk.c | 11 +-
tools/testing/selftests/bpf/progs/test_mmap.c | 2 -
tools/testing/selftests/bpf/progs/test_ringbuf.c | 1 -
.../selftests/bpf/progs/test_ringbuf_multi.c | 12 +-
tools/testing/selftests/bpf/progs/test_snprintf.c | 73 ++
.../selftests/bpf/progs/test_snprintf_single.c | 20 +
.../testing/selftests/bpf/progs/test_tunnel_kern.c | 2 +-
tools/testing/selftests/bpf/test_progs.h | 2 +-
.../testing/selftests/bpf/verifier/bpf_get_stack.c | 43 +
tools/testing/selftests/lib.mk | 4 +
69 files changed, 3141 insertions(+), 866 deletions(-)
create mode 100644 tools/testing/selftests/bpf/prog_tests/linked_funcs.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/linked_maps.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/linked_vars.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/snprintf.c
create mode 100644 tools/testing/selftests/bpf/progs/linked_funcs1.c
create mode 100644 tools/testing/selftests/bpf/progs/linked_funcs2.c
create mode 100644 tools/testing/selftests/bpf/progs/linked_maps1.c
create mode 100644 tools/testing/selftests/bpf/progs/linked_maps2.c
create mode 100644 tools/testing/selftests/bpf/progs/linked_vars1.c
create mode 100644 tools/testing/selftests/bpf/progs/linked_vars2.c
create mode 100644 tools/testing/selftests/bpf/progs/test_snprintf.c
create mode 100644 tools/testing/selftests/bpf/progs/test_snprintf_single.c
Powered by blists - more mailing lists