From: Alexei Starovoitov <ast@kernel.org>
To: <davem@davemloft.net>
Cc: <daniel@iogearbox.net>, <netdev@vger.kernel.org>,
<bpf@vger.kernel.org>, <kernel-team@fb.com>
Subject: pull-request: bpf-next 2019-05-31
Date: Fri, 31 May 2019 20:38:13 -0700 [thread overview]
Message-ID: <20190601033813.2166995-1-ast@kernel.org> (raw)
Hi David,
The following pull-request contains BPF updates for your *net-next* tree.
Lots of exciting new features in the first PR of this developement cycle!
The main changes are:
1) misc verifier improvements, from Alexei.
2) bpftool can now convert btf to valid C, from Andrii.
3) verifier can insert explicit ZEXT insn when requested by 32-bit JITs.
This feature greatly improves BPF speed on 32-bit architectures. From Jiong.
4) cgroups will now auto-detach bpf programs. This fixes issue of thousands
bpf programs got stuck in dying cgroups. From Roman.
5) new bpf_send_signal() helper, from Yonghong.
6) cgroup inet skb programs can signal CN to the stack, from Lawrence.
7) miscellaneous cleanups, 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!
----------------------------------------------------------------
The following changes since commit 14a1eaa8820e8f3715f0cb3c1790edab67a751e9:
hv_sock: perf: loop in send() to maximize bandwidth (2019-05-22 18:00:36 -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 cd5385029f1d2e6879b78fff1a7b15514004af17:
selftests/bpf: measure RTT from xdp using xdping (2019-05-31 19:53:45 -0700)
----------------------------------------------------------------
Alan Maguire (2):
selftests/bpf: fix compilation error for flow_dissector.c
selftests/bpf: measure RTT from xdp using xdping
Alexei Starovoitov (11):
bpf: bump jmp sequence limit
selftests/bpf: adjust verifier scale test
selftests/bpf: add pyperf scale test
bpf: cleanup explored_states
bpf: split explored_states
bpf: convert explored_states to hash table
Merge branch 'btf2c-converter'
Merge branch 'optimize-zext'
Merge branch 'cgroup-auto-detach'
Merge branch 'propagate-cn-to-tcp'
Merge branch 'map-charge-cleanup'
Andrii Nakryiko (23):
libbpf: emit diff of mismatched public API, if any
libbpf: ensure libbpf.h is included along libbpf_internal.h
libbpf: add btf__parse_elf API to load .BTF and .BTF.ext
bpftool: use libbpf's btf__parse_elf API
selftests/bpf: use btf__parse_elf to check presence of BTF/BTF.ext
libbpf: add resizable non-thread safe internal hashmap
selftests/bpf: add tests for libbpf's hashmap
libbpf: switch btf_dedup() to hashmap for dedup table
libbpf: add btf_dump API for BTF-to-C conversion
selftests/bpf: add btf_dump BTF-to-C conversion tests
bpftool: add C output format option to btf dump subcommand
bpftool/docs: add description of btf dump C option
bpftool: update bash-completion w/ new c option for btf dump
bpftool: auto-complete BTF IDs for btf dump
libbpf: fix detection of corrupted BPF instructions section
libbpf: preserve errno before calling into user callback
libbpf: simplify endianness check
libbpf: check map name retrieved from ELF
libbpf: fix error code returned on corrupted ELF
libbpf: use negative fd to specify missing BTF
libbpf: simplify two pieces of logic
libbpf: typo and formatting fixes
libbpf: reduce unnecessary line wrapping
Chang-Hsien Tsai (1):
bpf: style fix in while(!feof()) loop
Daniel Borkmann (4):
Merge branch 'bpf-jmp-seq-limit'
Merge branch 'bpf-explored-states'
Merge branch 'bpf-send-sig'
Merge branch 'bpf-bpftool-dbg-output'
Daniel T. Lee (1):
samples/bpf: fix a couple of style issues in bpf_load
Hariprasad Kelam (1):
libbpf: fix warning that PTR_ERR_OR_ZERO can be used
Jiong Wang (18):
bpf: verifier: mark verified-insn with sub-register zext flag
bpf: verifier: mark patched-insn with sub-register zext flag
bpf: introduce new mov32 variant for doing explicit zero extension
bpf: verifier: insert zero extension according to analysis result
bpf: introduce new bpf prog load flags "BPF_F_TEST_RND_HI32"
tools: bpf: sync uapi header bpf.h
bpf: verifier: randomize high 32-bit when BPF_F_TEST_RND_HI32 is set
libbpf: add "prog_flags" to bpf_program/bpf_prog_load_attr/bpf_load_program_attr
selftests: bpf: adjust several test_verifier helpers for insn insertion
selftests: bpf: enable hi32 randomization for all tests
arm: bpf: eliminate zero extension code-gen
powerpc: bpf: eliminate zero extension code-gen
s390: bpf: eliminate zero extension code-gen
sparc: bpf: eliminate zero extension code-gen
x32: bpf: eliminate zero extension code-gen
riscv: bpf: eliminate zero extension code-gen
nfp: bpf: eliminate zero extension code-gen
bpf: doc: update answer for 32-bit subregister question
Matteo Croce (1):
samples: bpf: add ibumad sample to .gitignore
Michal Rostecki (2):
selftests: bpf: Move bpf_printk to bpf_helpers.h
samples: bpf: Do not define bpf_printk macro
Quentin Monnet (4):
tools: bpftool: add -d option to get debug output from libbpf
libbpf: add bpf_object__load_xattr() API function to pass log_level
tools: bpftool: make -d option print debug output from verifier
libbpf: prevent overwriting of log_level in bpf_object__load_progs()
Roman Gushchin (9):
bpf: decouple the lifetime of cgroup_bpf from cgroup itself
selftests/bpf: convert test_cgrp2_attach2 example into kselftest
selftests/bpf: enable all available cgroup v2 controllers
selftests/bpf: add auto-detach test
bpf: add memlock precharge check for cgroup_local_storage
bpf: add memlock precharge for socket local storage
bpf: group memory related fields in struct bpf_map_memory
bpf: rework memlock-based memory accounting for maps
bpf: move memory size checks to bpf_map_charge_init()
Stanislav Fomichev (5):
selftests/bpf: fail test_tunnel.sh if subtests fail
bpf: remove __rcu annotations from bpf_prog_array
bpf: media: properly use bpf_prog_array api
bpf: cgroup: properly use bpf_prog_array api
bpf: tracing: properly use bpf_prog_array api
Yonghong Song (4):
bpf: implement bpf_send_signal() helper
tools/bpf: sync bpf uapi header bpf.h to tools directory
tools/bpf: add selftest in test_progs for bpf_send_signal() helper
bpf: check signal validity in nmi for bpf_send_signal() helper
brakmo (6):
bpf: Create BPF_PROG_CGROUP_INET_EGRESS_RUN_ARRAY
bpf: cgroup inet skb programs can return 0 to 3
bpf: Update __cgroup_bpf_run_filter_skb with cn
bpf: Update BPF_CGROUP_RUN_PROG_INET_EGRESS calls
bpf: Add cn support to hbm_out_kern.c
bpf: Add more stats to HBM
Documentation/bpf/bpf_design_QA.rst | 30 +-
arch/arm/net/bpf_jit_32.c | 42 +-
arch/powerpc/net/bpf_jit_comp64.c | 36 +-
arch/riscv/net/bpf_jit_comp.c | 43 +-
arch/s390/net/bpf_jit_comp.c | 41 +-
arch/sparc/net/bpf_jit_comp_64.c | 29 +-
arch/x86/net/bpf_jit_comp32.c | 83 +-
drivers/media/rc/bpf-lirc.c | 30 +-
drivers/net/ethernet/netronome/nfp/bpf/jit.c | 115 +-
drivers/net/ethernet/netronome/nfp/bpf/main.h | 2 +
drivers/net/ethernet/netronome/nfp/bpf/verifier.c | 12 +
include/linux/bpf-cgroup.h | 13 +-
include/linux/bpf.h | 78 +-
include/linux/bpf_verifier.h | 16 +-
include/linux/cgroup.h | 18 +
include/linux/filter.h | 18 +-
include/uapi/linux/bpf.h | 35 +-
kernel/bpf/arraymap.c | 18 +-
kernel/bpf/cgroup.c | 94 +-
kernel/bpf/core.c | 46 +-
kernel/bpf/cpumap.c | 9 +-
kernel/bpf/devmap.c | 14 +-
kernel/bpf/hashtab.c | 14 +-
kernel/bpf/local_storage.c | 13 +-
kernel/bpf/lpm_trie.c | 8 +-
kernel/bpf/queue_stack_maps.c | 13 +-
kernel/bpf/reuseport_array.c | 17 +-
kernel/bpf/stackmap.c | 28 +-
kernel/bpf/syscall.c | 103 +-
kernel/bpf/verifier.c | 397 +++++-
kernel/bpf/xskmap.c | 10 +-
kernel/cgroup/cgroup.c | 11 +-
kernel/trace/bpf_trace.c | 96 +-
net/core/bpf_sk_storage.c | 12 +-
net/core/sock_map.c | 9 +-
net/ipv4/ip_output.c | 34 +-
net/ipv6/ip6_output.c | 26 +-
samples/bpf/.gitignore | 1 +
samples/bpf/Makefile | 2 -
samples/bpf/bpf_load.c | 8 +-
samples/bpf/do_hbm_test.sh | 10 +-
samples/bpf/hbm.c | 51 +-
samples/bpf/hbm.h | 9 +-
samples/bpf/hbm_kern.h | 77 +-
samples/bpf/hbm_out_kern.c | 48 +-
samples/bpf/tcp_basertt_kern.c | 7 -
samples/bpf/tcp_bufs_kern.c | 7 -
samples/bpf/tcp_clamp_kern.c | 7 -
samples/bpf/tcp_cong_kern.c | 7 -
samples/bpf/tcp_iw_kern.c | 7 -
samples/bpf/tcp_rwnd_kern.c | 7 -
samples/bpf/tcp_synrto_kern.c | 7 -
samples/bpf/tcp_tos_reflect_kern.c | 7 -
samples/bpf/xdp_sample_pkts_kern.c | 7 -
tools/bpf/bpftool/Documentation/bpftool-btf.rst | 39 +-
tools/bpf/bpftool/Documentation/bpftool-cgroup.rst | 4 +
.../bpf/bpftool/Documentation/bpftool-feature.rst | 4 +
tools/bpf/bpftool/Documentation/bpftool-map.rst | 4 +
tools/bpf/bpftool/Documentation/bpftool-net.rst | 4 +
tools/bpf/bpftool/Documentation/bpftool-perf.rst | 4 +
tools/bpf/bpftool/Documentation/bpftool-prog.rst | 5 +
tools/bpf/bpftool/Documentation/bpftool.rst | 4 +
tools/bpf/bpftool/bash-completion/bpftool | 32 +-
tools/bpf/bpftool/btf.c | 162 +--
tools/bpf/bpftool/main.c | 16 +-
tools/bpf/bpftool/main.h | 1 +
tools/bpf/bpftool/prog.c | 27 +-
tools/bpf/bpftool/xlated_dumper.c | 4 +-
tools/include/uapi/linux/bpf.h | 35 +-
tools/include/uapi/linux/if_tun.h | 114 ++
tools/lib/bpf/Build | 4 +-
tools/lib/bpf/Makefile | 12 +-
tools/lib/bpf/bpf.c | 1 +
tools/lib/bpf/bpf.h | 1 +
tools/lib/bpf/btf.c | 329 +++--
tools/lib/bpf/btf.h | 19 +
tools/lib/bpf/btf_dump.c | 1336 ++++++++++++++++++++
tools/lib/bpf/hashmap.c | 229 ++++
tools/lib/bpf/hashmap.h | 173 +++
tools/lib/bpf/libbpf.c | 175 ++-
tools/lib/bpf/libbpf.h | 7 +
tools/lib/bpf/libbpf.map | 9 +
tools/lib/bpf/libbpf_internal.h | 2 +
tools/testing/selftests/bpf/.gitignore | 4 +
tools/testing/selftests/bpf/Makefile | 17 +-
tools/testing/selftests/bpf/bpf_helpers.h | 9 +
tools/testing/selftests/bpf/cgroup_helpers.c | 57 +
.../selftests/bpf/prog_tests/bpf_verif_scale.c | 32 +-
.../testing/selftests/bpf/prog_tests/send_signal.c | 198 +++
.../bpf/progs/btf_dump_test_case_bitfields.c | 92 ++
.../bpf/progs/btf_dump_test_case_multidim.c | 35 +
.../bpf/progs/btf_dump_test_case_namespacing.c | 73 ++
.../bpf/progs/btf_dump_test_case_ordering.c | 63 +
.../bpf/progs/btf_dump_test_case_packing.c | 75 ++
.../bpf/progs/btf_dump_test_case_padding.c | 111 ++
.../bpf/progs/btf_dump_test_case_syntax.c | 229 ++++
tools/testing/selftests/bpf/progs/pyperf.h | 268 ++++
tools/testing/selftests/bpf/progs/pyperf100.c | 4 +
tools/testing/selftests/bpf/progs/pyperf180.c | 4 +
tools/testing/selftests/bpf/progs/pyperf50.c | 4 +
.../selftests/bpf/progs/sockmap_parse_prog.c | 7 -
.../selftests/bpf/progs/sockmap_tcp_msg_prog.c | 7 -
.../selftests/bpf/progs/sockmap_verdict_prog.c | 7 -
.../selftests/bpf/progs/test_lwt_seg6local.c | 7 -
.../selftests/bpf/progs/test_send_signal_kern.c | 51 +
.../selftests/bpf/progs/test_xdp_noinline.c | 7 -
tools/testing/selftests/bpf/progs/xdping_kern.c | 184 +++
tools/testing/selftests/bpf/test_btf.c | 71 +-
tools/testing/selftests/bpf/test_btf_dump.c | 143 +++
.../testing/selftests/bpf/test_cgroup_attach.c | 146 ++-
tools/testing/selftests/bpf/test_hashmap.c | 382 ++++++
tools/testing/selftests/bpf/test_sock_addr.c | 1 +
tools/testing/selftests/bpf/test_sock_fields.c | 1 +
tools/testing/selftests/bpf/test_socket_cookie.c | 1 +
tools/testing/selftests/bpf/test_sockmap_kern.h | 7 -
tools/testing/selftests/bpf/test_stub.c | 40 +
tools/testing/selftests/bpf/test_tunnel.sh | 32 +
tools/testing/selftests/bpf/test_verifier.c | 62 +-
tools/testing/selftests/bpf/test_xdping.sh | 99 ++
tools/testing/selftests/bpf/trace_helpers.c | 4 +-
tools/testing/selftests/bpf/xdping.c | 258 ++++
tools/testing/selftests/bpf/xdping.h | 13 +
122 files changed, 6430 insertions(+), 1013 deletions(-)
create mode 100644 tools/include/uapi/linux/if_tun.h
create mode 100644 tools/lib/bpf/btf_dump.c
create mode 100644 tools/lib/bpf/hashmap.c
create mode 100644 tools/lib/bpf/hashmap.h
create mode 100644 tools/testing/selftests/bpf/prog_tests/send_signal.c
create mode 100644 tools/testing/selftests/bpf/progs/btf_dump_test_case_bitfields.c
create mode 100644 tools/testing/selftests/bpf/progs/btf_dump_test_case_multidim.c
create mode 100644 tools/testing/selftests/bpf/progs/btf_dump_test_case_namespacing.c
create mode 100644 tools/testing/selftests/bpf/progs/btf_dump_test_case_ordering.c
create mode 100644 tools/testing/selftests/bpf/progs/btf_dump_test_case_packing.c
create mode 100644 tools/testing/selftests/bpf/progs/btf_dump_test_case_padding.c
create mode 100644 tools/testing/selftests/bpf/progs/btf_dump_test_case_syntax.c
create mode 100644 tools/testing/selftests/bpf/progs/pyperf.h
create mode 100644 tools/testing/selftests/bpf/progs/pyperf100.c
create mode 100644 tools/testing/selftests/bpf/progs/pyperf180.c
create mode 100644 tools/testing/selftests/bpf/progs/pyperf50.c
create mode 100644 tools/testing/selftests/bpf/progs/test_send_signal_kern.c
create mode 100644 tools/testing/selftests/bpf/progs/xdping_kern.c
create mode 100644 tools/testing/selftests/bpf/test_btf_dump.c
rename samples/bpf/test_cgrp2_attach2.c => tools/testing/selftests/bpf/test_cgroup_attach.c (79%)
create mode 100644 tools/testing/selftests/bpf/test_hashmap.c
create mode 100644 tools/testing/selftests/bpf/test_stub.c
create mode 100755 tools/testing/selftests/bpf/test_xdping.sh
create mode 100644 tools/testing/selftests/bpf/xdping.c
create mode 100644 tools/testing/selftests/bpf/xdping.h
next reply other threads:[~2019-06-01 3:38 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-01 3:38 Alexei Starovoitov [this message]
2019-06-01 5:18 ` pull-request: bpf-next 2019-05-31 David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190601033813.2166995-1-ast@kernel.org \
--to=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=kernel-team@fb.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.