All of lore.kernel.org
 help / color / mirror / Atom feed
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

             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.