lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 27 Apr 2018 03:14:42 +0200
From:   Daniel Borkmann <daniel@...earbox.net>
To:     davem@...emloft.net
Cc:     daniel@...earbox.net, ast@...nel.org, netdev@...r.kernel.org
Subject: pull-request: bpf-next 2018-04-27

Hi David,

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

The main changes are:

1) Add extensive BPF helper description into include/uapi/linux/bpf.h
   and a new script bpf_helpers_doc.py which allows for generating a
   man page out of it. Thus, every helper in BPF now comes with proper
   function signature, detailed description and return code explanation,
   from Quentin.

2) Migrate the BPF collect metadata tunnel tests from BPF samples over
   to the BPF selftests and further extend them with v6 vxlan, geneve
   and ipip tests, simplify the ipip tests, improve documentation and
   convert to bpf_ntoh*() / bpf_hton*() api, from William.

3) Currently, helpers that expect ARG_PTR_TO_MAP_{KEY,VALUE} can only
   access stack and packet memory. Extend this to allow such helpers
   to also use map values, which enabled use cases where value from
   a first lookup can be directly used as a key for a second lookup,
   from Paul.

4) Add a new helper bpf_skb_get_xfrm_state() for tc BPF programs in
   order to retrieve XFRM state information containing SPI, peer
   address and reqid values, from Eyal.

5) Various optimizations in nfp driver's BPF JIT in order to turn ADD
   and SUB instructions with negative immediate into the opposite
   operation with a positive immediate such that nfp can better fit
   small immediates into instructions. Savings in instruction count
   up to 4% have been observed, from Jakub.

6) Add the BPF prog's gpl_compatible flag to struct bpf_prog_info
   and add support for dumping this through bpftool, from Jiri.

7) Move the BPF sockmap samples over into BPF selftests instead since
   sockmap was rather a series of tests than sample anyway and this way
   this can be run from automated bots, from John.

8) Follow-up fix for bpf_adjust_tail() helper in order to make it work
   with generic XDP, from Nikita.

9) Some follow-up cleanups to BTF, namely, removing unused defines from
   BTF uapi header and renaming 'name' struct btf_* members into name_off
   to make it more clear they are offsets into string section, from Martin.

10) Remove test_sock_addr from TEST_GEN_PROGS in BPF selftests since
    not run directly but invoked from test_sock_addr.sh, from Yonghong.

11) Remove redundant ret assignment in sample BPF loader, from Wang.

12) Add couple of missing files to BPF selftest's gitignore, from Anders.

Please consider pulling these changes from:

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

There are two trivial merge conflicts while pulling:

  1) Remove samples/sockmap/Makefile since all sockmap tests have been
     moved to selftests.
  2) Add both hunks from tools/testing/selftests/bpf/.gitignore to the
     file since git should ignore all of them.

Thanks a lot!

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

The following changes since commit 48d7a07ba355c7056e66adcdd35379d12e48252b:

  hv_netvsc: select needed ucs2_string routine (2018-04-22 21:07:03 -0400)

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 c0885f61bbb6a89c35397d3a8fe49c35822cde81:

  samples, bpf: remove redundant ret assignment in bpf_load_program() (2018-04-27 00:47:06 +0200)

----------------------------------------------------------------
Anders Roxell (1):
      selftests: bpf: update .gitignore with missing file

Daniel Borkmann (6):
      Merge branch 'bpf-xfrm-states'
      Merge branch 'bpf-map-val-as-key'
      Merge branch 'bpf-sockmap-selftests'
      Merge branch 'bpf-optimize-neg-sums'
      Merge branch 'bpf-tunnel-metadata-selftests'
      Merge branch 'bpf-uapi-helper-doc'

Eyal Birger (2):
      bpf: add helper for getting xfrm states
      samples/bpf: extend test_tunnel_bpf.sh with xfrm state test

Jakub Kicinski (4):
      nfp: bpf: remove double space
      nfp: bpf: optimize add/sub of a negative constant
      nfp: bpf: tabularize generations of compare operations
      nfp: bpf: optimize comparisons to negative constants

Jiri Olsa (3):
      bpf: Add gpl_compatible flag to struct bpf_prog_info
      tools, bpf: Sync bpf.h uapi header
      tools, bpftool: Display license GPL compatible in prog show/list

John Fastabend (5):
      bpf: sockmap, code sockmap_test in C
      bpf: sockmap, add a set of tests to run by default
      bpf: sockmap, add selftests
      bpf: sockmap, remove samples program
      bpf: reduce runtime of test_sockmap tests

Martin KaFai Lau (1):
      bpf: btf: Clean up btf.h in uapi

Nikita V. Shirokov (2):
      bpf: fix virtio-net's length calc for XDP_PASS
      bpf: fix xdp_generic for bpf_adjust_tail usecase

Paul Chaignon (2):
      bpf: allow map helpers access to map values directly
      tools/bpf: add verifier tests for accesses to map values

Quentin Monnet (10):
      bpf: add script and prepare bpf.h for new helpers documentation
      bpf: add documentation for eBPF helpers (01-11)
      bpf: add documentation for eBPF helpers (12-22)
      bpf: add documentation for eBPF helpers (23-32)
      bpf: add documentation for eBPF helpers (33-41)
      bpf: add documentation for eBPF helpers (42-50)
      bpf: add documentation for eBPF helpers (51-57)
      bpf: add documentation for eBPF helpers (58-64)
      bpf: add documentation for eBPF helpers (65-66)
      bpf: update bpf.h uapi header for tools

Wang Sheng-Hui (1):
      samples, bpf: remove redundant ret assignment in bpf_load_program()

William Tu (2):
      selftests/bpf: bpf tunnel test.
      samples/bpf: remove the bpf tunnel testsuite.

Yonghong Song (1):
      tools/bpf: remove test_sock_addr from TEST_GEN_PROGS

 drivers/net/ethernet/netronome/nfp/bpf/jit.c       |  231 +--
 drivers/net/ethernet/netronome/nfp/bpf/main.h      |    6 +-
 drivers/net/virtio_net.c                           |    2 +-
 include/uapi/linux/bpf.h                           | 1784 ++++++++++++++-----
 include/uapi/linux/btf.h                           |    8 +-
 kernel/bpf/btf.c                                   |   20 +-
 kernel/bpf/syscall.c                               |    1 +
 kernel/bpf/verifier.c                              |   24 +-
 net/core/dev.c                                     |    4 +-
 net/core/filter.c                                  |   48 +
 samples/bpf/Makefile                               |    1 -
 samples/bpf/bpf_load.c                             |    2 -
 samples/bpf/test_tunnel_bpf.sh                     |  319 ----
 samples/sockmap/Makefile                           |   75 -
 samples/sockmap/sockmap_test.sh                    |  488 ------
 scripts/bpf_helpers_doc.py                         |  421 +++++
 tools/bpf/bpftool/Documentation/bpftool-prog.rst   |    3 +-
 tools/bpf/bpftool/prog.c                           |    3 +
 tools/include/uapi/linux/bpf.h                     | 1785 +++++++++++++++-----
 tools/include/uapi/linux/btf.h                     |    8 +-
 tools/include/uapi/linux/if_link.h                 |   39 +
 tools/lib/bpf/btf.c                                |    2 +-
 tools/lib/bpf/libbpf.c                             |    4 +-
 tools/lib/bpf/libbpf.h                             |    2 +
 tools/testing/selftests/bpf/.gitignore             |    1 +
 tools/testing/selftests/bpf/Makefile               |   10 +-
 tools/testing/selftests/bpf/bpf_helpers.h          |    4 +-
 .../testing/selftests/bpf/test_sockmap.c           |  880 ++++++++--
 .../testing/selftests/bpf/test_sockmap_kern.c      |   35 +-
 tools/testing/selftests/bpf/test_tunnel.sh         |  729 ++++++++
 .../testing/selftests/bpf/test_tunnel_kern.c       |  263 ++-
 tools/testing/selftests/bpf/test_verifier.c        |  266 +++
 32 files changed, 5400 insertions(+), 2068 deletions(-)
 delete mode 100755 samples/bpf/test_tunnel_bpf.sh
 delete mode 100644 samples/sockmap/Makefile
 delete mode 100755 samples/sockmap/sockmap_test.sh
 create mode 100755 scripts/bpf_helpers_doc.py
 rename samples/sockmap/sockmap_user.c => tools/testing/selftests/bpf/test_sockmap.c (57%)
 rename samples/sockmap/sockmap_kern.c => tools/testing/selftests/bpf/test_sockmap_kern.c (91%)
 create mode 100755 tools/testing/selftests/bpf/test_tunnel.sh
 rename samples/bpf/tcbpf2_kern.c => tools/testing/selftests/bpf/test_tunnel_kern.c (68%)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ