[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190620035726.3942971-1-ast@kernel.org>
Date: Wed, 19 Jun 2019 20:57:26 -0700
From: Alexei Starovoitov <ast@...nel.org>
To: <davem@...emloft.net>
CC: <daniel@...earbox.net>, <netdev@...r.kernel.org>,
<bpf@...r.kernel.org>, <kernel-team@...com>
Subject: pull-request: bpf-next 2019-06-19
Hi David,
The following pull-request contains BPF updates for your *net-next* tree.
The main changes are:
1) new SO_REUSEPORT_DETACH_BPF setsocktopt, from Martin.
2) BTF based map definition, from Andrii.
3) support bpf_map_lookup_elem for xskmap, from Jonathan.
4) bounded loops and scalar precision logic in the verifier, from Alexei.
Please consider pulling these changes from:
git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
Thanks a lot!
----------------------------------------------------------------
The following changes since commit 0462eaacee493f7e2d87551a35d38be93ca723f8:
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next (2019-05-31 21:21:18 -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 94079b64255fe40b9b53fd2e4081f68b9b14f54a:
Merge branch 'bpf-bounded-loops' (2019-06-19 02:22:53 +0200)
----------------------------------------------------------------
Alexei Starovoitov (10):
Merge branch 'xskmap-lookup'
bpf: track spill/fill of constants
selftests/bpf: fix tests due to const spill/fill
bpf: extend is_branch_taken to registers
bpf: introduce bounded loops
bpf: fix callees pruning callers
selftests/bpf: fix tests
selftests/bpf: add basic verifier tests for loops
selftests/bpf: add realistic loop tests
bpf: precise scalar_value tracking
Andrii Nakryiko (13):
selftests/bpf: fix constness of source arg for bpf helpers
libbpf: fix check for presence of associated BTF for map creation
libbpf: add common min/max macro to libbpf_internal.h
libbpf: extract BTF loading logic
libbpf: streamline ELF parsing error-handling
libbpf: refactor map initialization
libbpf: identify maps by section index in addition to offset
libbpf: split initialization and loading of BTF
libbpf: allow specifying map definitions using BTF
selftests/bpf: add test for BTF-defined maps
selftests/bpf: switch BPF_ANNOTATE_KV_PAIR tests to BTF-defined maps
selftests/bpf: convert tests w/ custom values to BTF-defined maps
libbpf: constify getter APIs
Colin Ian King (2):
bpf: hbm: fix spelling mistake "notifcations" -> "notificiations"
bpf: remove redundant assignment to err
Dan Carpenter (1):
selftests/bpf: signedness bug in enable_all_controllers()
Daniel Borkmann (3):
Merge branch 'bpf-libbpf-num-cpus'
Merge branch 'bpf-libbpf-btf-defined-maps'
Merge branch 'bpf-bounded-loops'
Daniel T. Lee (2):
samples: bpf: remove unnecessary include options in Makefile
samples: bpf: refactor header include path
Hechao Li (4):
selftests/bpf : clean up feature/ when make clean
bpf: add a new API libbpf_num_possible_cpus()
selftests/bpf: remove bpf_util.h from BPF C progs
bpf: use libbpf_num_possible_cpus internally
Jakub Kicinski (2):
samples: bpf: print a warning about headers_install
samples: bpf: don't run probes at the local make stage
Jonathan Lemon (4):
bpf: Allow bpf_map_lookup_elem() on an xskmap
bpf/tools: sync bpf.h
tools/bpf: Add bpf_map_lookup_elem selftest for xskmap
libbpf: remove qidconf and better support external bpf programs.
Martin KaFai Lau (3):
bpf: net: Add SO_DETACH_REUSEPORT_BPF
bpf: Sync asm-generic/socket.h to tools/
bpf: Add test for SO_REUSEPORT_DETACH_BPF
Prashant Bhole (1):
samples/bpf: fix include path in Makefile
Roman Gushchin (1):
bpf: allow CGROUP_SKB programs to use bpf_skb_cgroup_id() helper
Stanislav Fomichev (4):
bpf: export bpf_sock for BPF_PROG_TYPE_CGROUP_SOCK_ADDR prog type
bpf: export bpf_sock for BPF_PROG_TYPE_SOCK_OPS prog type
bpf/tools: sync bpf.h
selftests/bpf: convert socket_cookie test to sk storage
Valdis Kletnieks (1):
bpf: silence warning messages in core
YueHaibing (1):
bpf: Fix build error without CONFIG_INET
arch/alpha/include/uapi/asm/socket.h | 2 +
arch/mips/include/uapi/asm/socket.h | 2 +
arch/parisc/include/uapi/asm/socket.h | 2 +
arch/sparc/include/uapi/asm/socket.h | 2 +
include/linux/bpf.h | 25 +
include/linux/bpf_verifier.h | 69 +-
include/net/sock_reuseport.h | 2 +
include/net/xdp_sock.h | 4 +-
include/uapi/asm-generic/socket.h | 2 +
include/uapi/linux/bpf.h | 6 +
kernel/bpf/Makefile | 1 +
kernel/bpf/devmap.c | 2 +-
kernel/bpf/verifier.c | 793 ++++++++++++++++--
kernel/bpf/xskmap.c | 9 +-
net/core/filter.c | 86 ++
net/core/sock.c | 4 +
net/core/sock_reuseport.c | 24 +
samples/bpf/Makefile | 23 +-
samples/bpf/fds_example.c | 2 +-
samples/bpf/hbm.c | 6 +-
samples/bpf/ibumad_user.c | 2 +-
samples/bpf/sockex1_user.c | 2 +-
samples/bpf/sockex2_user.c | 2 +-
samples/bpf/xdp1_user.c | 4 +-
samples/bpf/xdp_adjust_tail_user.c | 4 +-
samples/bpf/xdp_fwd_user.c | 2 +-
samples/bpf/xdp_redirect_cpu_user.c | 2 +-
samples/bpf/xdp_redirect_map_user.c | 2 +-
samples/bpf/xdp_redirect_user.c | 2 +-
samples/bpf/xdp_router_ipv4_user.c | 2 +-
samples/bpf/xdp_rxq_info_user.c | 4 +-
samples/bpf/xdp_tx_iptunnel_user.c | 2 +-
samples/bpf/xdpsock_user.c | 4 +-
tools/bpf/bpftool/common.c | 53 +-
tools/include/uapi/asm-generic/socket.h | 147 ++++
tools/include/uapi/linux/bpf.h | 6 +
tools/lib/bpf/bpf.c | 7 +-
tools/lib/bpf/bpf_prog_linfo.c | 5 +-
tools/lib/bpf/btf.c | 3 -
tools/lib/bpf/btf.h | 1 +
tools/lib/bpf/btf_dump.c | 3 -
tools/lib/bpf/libbpf.c | 927 +++++++++++++++------
tools/lib/bpf/libbpf.h | 78 +-
tools/lib/bpf/libbpf.map | 1 +
tools/lib/bpf/libbpf_internal.h | 7 +
tools/lib/bpf/xsk.c | 103 +--
tools/testing/selftests/bpf/Makefile | 3 +-
tools/testing/selftests/bpf/bpf_endian.h | 1 +
tools/testing/selftests/bpf/bpf_helpers.h | 4 +-
tools/testing/selftests/bpf/bpf_util.h | 37 +-
tools/testing/selftests/bpf/cgroup_helpers.c | 2 +-
.../selftests/bpf/prog_tests/bpf_verif_scale.c | 67 +-
tools/testing/selftests/bpf/progs/bpf_flow.c | 18 +-
tools/testing/selftests/bpf/progs/loop1.c | 28 +
tools/testing/selftests/bpf/progs/loop2.c | 28 +
tools/testing/selftests/bpf/progs/loop3.c | 22 +
tools/testing/selftests/bpf/progs/netcnt_prog.c | 22 +-
tools/testing/selftests/bpf/progs/pyperf.h | 6 +-
tools/testing/selftests/bpf/progs/pyperf600.c | 9 +
.../selftests/bpf/progs/pyperf600_nounroll.c | 8 +
.../selftests/bpf/progs/socket_cookie_prog.c | 49 +-
.../selftests/bpf/progs/sockmap_parse_prog.c | 1 -
.../selftests/bpf/progs/sockmap_tcp_msg_prog.c | 2 +-
.../selftests/bpf/progs/sockmap_verdict_prog.c | 1 -
tools/testing/selftests/bpf/progs/strobemeta.c | 10 +
tools/testing/selftests/bpf/progs/strobemeta.h | 528 ++++++++++++
.../selftests/bpf/progs/strobemeta_nounroll1.c | 9 +
.../selftests/bpf/progs/strobemeta_nounroll2.c | 9 +
tools/testing/selftests/bpf/progs/test_btf_newkv.c | 73 ++
.../selftests/bpf/progs/test_get_stack_rawtp.c | 27 +-
.../testing/selftests/bpf/progs/test_global_data.c | 27 +-
tools/testing/selftests/bpf/progs/test_l4lb.c | 45 +-
.../selftests/bpf/progs/test_l4lb_noinline.c | 45 +-
tools/testing/selftests/bpf/progs/test_map_lock.c | 22 +-
tools/testing/selftests/bpf/progs/test_seg6_loop.c | 261 ++++++
.../bpf/progs/test_select_reuseport_kern.c | 45 +-
.../selftests/bpf/progs/test_send_signal_kern.c | 22 +-
.../selftests/bpf/progs/test_sock_fields_kern.c | 60 +-
tools/testing/selftests/bpf/progs/test_spin_lock.c | 33 +-
.../selftests/bpf/progs/test_stacktrace_build_id.c | 44 +-
.../selftests/bpf/progs/test_stacktrace_map.c | 40 +-
.../selftests/bpf/progs/test_sysctl_loop1.c | 71 ++
.../selftests/bpf/progs/test_sysctl_loop2.c | 72 ++
.../testing/selftests/bpf/progs/test_sysctl_prog.c | 5 +-
.../testing/selftests/bpf/progs/test_tcp_estats.c | 9 +-
.../testing/selftests/bpf/progs/test_tcpbpf_kern.c | 18 +-
.../selftests/bpf/progs/test_tcpnotify_kern.c | 18 +-
tools/testing/selftests/bpf/progs/test_xdp.c | 18 +-
tools/testing/selftests/bpf/progs/test_xdp_loop.c | 231 +++++
.../selftests/bpf/progs/test_xdp_noinline.c | 60 +-
tools/testing/selftests/bpf/test_btf.c | 10 +-
.../testing/selftests/bpf/test_select_reuseport.c | 54 ++
tools/testing/selftests/bpf/test_socket_cookie.c | 24 +-
tools/testing/selftests/bpf/test_verifier.c | 11 +-
tools/testing/selftests/bpf/verifier/calls.c | 22 +-
tools/testing/selftests/bpf/verifier/cfg.c | 11 +-
.../selftests/bpf/verifier/direct_packet_access.c | 3 +-
.../selftests/bpf/verifier/helper_access_var_len.c | 28 +-
tools/testing/selftests/bpf/verifier/loops1.c | 161 ++++
.../selftests/bpf/verifier/prevent_map_lookup.c | 15 -
tools/testing/selftests/bpf/verifier/sock.c | 18 +
101 files changed, 4048 insertions(+), 860 deletions(-)
create mode 100644 tools/include/uapi/asm-generic/socket.h
create mode 100644 tools/testing/selftests/bpf/progs/loop1.c
create mode 100644 tools/testing/selftests/bpf/progs/loop2.c
create mode 100644 tools/testing/selftests/bpf/progs/loop3.c
create mode 100644 tools/testing/selftests/bpf/progs/pyperf600.c
create mode 100644 tools/testing/selftests/bpf/progs/pyperf600_nounroll.c
create mode 100644 tools/testing/selftests/bpf/progs/strobemeta.c
create mode 100644 tools/testing/selftests/bpf/progs/strobemeta.h
create mode 100644 tools/testing/selftests/bpf/progs/strobemeta_nounroll1.c
create mode 100644 tools/testing/selftests/bpf/progs/strobemeta_nounroll2.c
create mode 100644 tools/testing/selftests/bpf/progs/test_btf_newkv.c
create mode 100644 tools/testing/selftests/bpf/progs/test_seg6_loop.c
create mode 100644 tools/testing/selftests/bpf/progs/test_sysctl_loop1.c
create mode 100644 tools/testing/selftests/bpf/progs/test_sysctl_loop2.c
create mode 100644 tools/testing/selftests/bpf/progs/test_xdp_loop.c
create mode 100644 tools/testing/selftests/bpf/verifier/loops1.c
Powered by blists - more mailing lists