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 for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 21 Apr 2018 03:07:17 +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-21

Hi David,

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

The main changes are:

1) Initial work on BPF Type Format (BTF) is added, which is a meta
   data format which describes the data types of BPF programs / maps.
   BTF has its roots from CTF (Compact C-Type format) with a number
   of changes to it. First use case is to provide a generic pretty
   print capability for BPF maps inspection, later work will also
   add BTF to bpftool. pahole support to convert dwarf to BTF will
   be upstreamed as well (https://github.com/iamkafai/pahole/tree/btf),
   from Martin.

2) Add a new xdp_bpf_adjust_tail() BPF helper for XDP that allows
   for changing the data_end pointer. Only shrinking is currently
   supported which helps for crafting ICMP control messages. Minor
   changes in drivers have been added where needed so they recalc
   the packet's length also when data_end was adjusted, from Nikita.

3) Improve bpftool to make it easier to feed hex bytes via cmdline
   for map operations, from Quentin.

4) Add support for various missing BPF prog types and attach types
   that have been added to kernel recently but neither to bpftool
   nor libbpf yet. Doc and bash completion updates have been added
   as well for bpftool, from Andrey.

5) Proper fix for avoiding to leak info stored in frame data on page
   reuse for the two bpf_xdp_adjust_{head,meta} helpers by disallowing
   to move the pointers into struct xdp_frame area, from Jesper.

6) Follow-up compile fix from BTF in order to include stdbool.h in
   libbpf, from Björn.

7) Few fixes in BPF sample code, that is, a typo on the netdevice
   in a comment and fixup proper dump of XDP action code in the
   tracepoint exception, from Wang and Jesper.

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

  ipv6: send netlink notifications for manually configured addresses (2018-04-17 14:03:56 -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 878a4d328104fed86ea321c48a5245eed44fbe14:

  libbpf: fixed build error for samples/bpf/ (2018-04-20 10:12:19 +0200)

----------------------------------------------------------------
Andrey Ignatov (3):
      bpftool: Support new prog types and attach types
      libbpf: Support guessing post_bind{4,6} progs
      libbpf: Type functions for raw tracepoints

Björn Töpel (1):
      libbpf: fixed build error for samples/bpf/

Daniel Borkmann (3):
      Merge branch 'bpf-libbpf-add-types'
      Merge branch 'bpf-xdp-adjust-tail'
      Merge branch 'bpf-type-format'

Jesper Dangaard Brouer (2):
      samples/bpf: fix xdp_monitor user output for tracepoint exception
      bpf: reserve xdp_frame size in xdp headroom

Martin KaFai Lau (10):
      bpf: btf: Introduce BPF Type Format (BTF)
      bpf: btf: Validate type reference
      bpf: btf: Check members of struct/union
      bpf: btf: Add pretty print capability for data with BTF type info
      bpf: btf: Add BPF_BTF_LOAD command
      bpf: btf: Add BPF_OBJ_GET_INFO_BY_FD support to BTF fd
      bpf: btf: Add pretty print support to the basic arraymap
      bpf: btf: Sync bpf.h and btf.h to tools/
      bpf: btf: Add BTF support to libbpf
      bpf: btf: Add BTF tests

Nikita V. Shirokov (11):
      bpf: adding bpf_xdp_adjust_tail helper
      bpf: make generic xdp compatible w/ bpf_xdp_adjust_tail
      bpf: make mlx4 compatible w/ bpf_xdp_adjust_tail
      bpf: make bnxt compatible w/ bpf_xdp_adjust_tail
      bpf: make cavium thunder compatible w/ bpf_xdp_adjust_tail
      bpf: make netronome nfp compatible w/ bpf_xdp_adjust_tail
      bpf: make tun compatible w/ bpf_xdp_adjust_tail
      bpf: make virtio compatible w/ bpf_xdp_adjust_tail
      bpf: making bpf_prog_test run aware of possible data_end ptr change
      bpf: adding tests for bpf_xdp_adjust_tail
      bpf: add bpf_xdp_adjust_tail sample prog

Quentin Monnet (1):
      tools: bpftool: make it easier to feed hex bytes to bpftool

Wang Sheng-Hui (1):
      samples/bpf: correct comment in sock_example.c

 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c      |    2 +-
 drivers/net/ethernet/cavium/thunder/nicvf_main.c   |    2 +-
 drivers/net/ethernet/mellanox/mlx4/en_rx.c         |    2 +-
 .../net/ethernet/netronome/nfp/nfp_net_common.c    |    2 +-
 drivers/net/tun.c                                  |    3 +-
 drivers/net/virtio_net.c                           |    7 +-
 include/linux/bpf.h                                |   20 +-
 include/linux/btf.h                                |   48 +
 include/uapi/linux/bpf.h                           |   22 +-
 include/uapi/linux/btf.h                           |  130 ++
 kernel/bpf/Makefile                                |    1 +
 kernel/bpf/arraymap.c                              |   50 +
 kernel/bpf/btf.c                                   | 2064 ++++++++++++++++++++
 kernel/bpf/inode.c                                 |  156 +-
 kernel/bpf/syscall.c                               |   51 +-
 net/bpf/test_run.c                                 |    3 +-
 net/core/dev.c                                     |   10 +-
 net/core/filter.c                                  |   41 +-
 samples/bpf/Makefile                               |    4 +
 samples/bpf/sock_example.c                         |    4 +-
 samples/bpf/xdp_adjust_tail_kern.c                 |  152 ++
 samples/bpf/xdp_adjust_tail_user.c                 |  142 ++
 samples/bpf/xdp_monitor_user.c                     |    2 +-
 tools/bpf/bpftool/Documentation/bpftool-cgroup.rst |   11 +-
 tools/bpf/bpftool/Documentation/bpftool-map.rst    |   29 +-
 tools/bpf/bpftool/bash-completion/bpftool          |   14 +-
 tools/bpf/bpftool/cgroup.c                         |   15 +-
 tools/bpf/bpftool/map.c                            |   17 +-
 tools/bpf/bpftool/prog.c                           |    3 +
 tools/include/uapi/linux/bpf.h                     |   22 +-
 tools/include/uapi/linux/btf.h                     |  130 ++
 tools/lib/bpf/Build                                |    2 +-
 tools/lib/bpf/bpf.c                                |   92 +-
 tools/lib/bpf/bpf.h                                |   17 +
 tools/lib/bpf/btf.c                                |  374 ++++
 tools/lib/bpf/btf.h                                |   22 +
 tools/lib/bpf/libbpf.c                             |  156 +-
 tools/lib/bpf/libbpf.h                             |    5 +
 tools/testing/selftests/bpf/Makefile               |   26 +-
 tools/testing/selftests/bpf/bpf_helpers.h          |    5 +
 tools/testing/selftests/bpf/test_adjust_tail.c     |   30 +
 tools/testing/selftests/bpf/test_btf.c             | 1669 ++++++++++++++++
 tools/testing/selftests/bpf/test_btf_haskv.c       |   48 +
 tools/testing/selftests/bpf/test_btf_nokv.c        |   43 +
 tools/testing/selftests/bpf/test_progs.c           |   32 +
 45 files changed, 5591 insertions(+), 89 deletions(-)
 create mode 100644 include/linux/btf.h
 create mode 100644 include/uapi/linux/btf.h
 create mode 100644 kernel/bpf/btf.c
 create mode 100644 samples/bpf/xdp_adjust_tail_kern.c
 create mode 100644 samples/bpf/xdp_adjust_tail_user.c
 create mode 100644 tools/include/uapi/linux/btf.h
 create mode 100644 tools/lib/bpf/btf.c
 create mode 100644 tools/lib/bpf/btf.h
 create mode 100644 tools/testing/selftests/bpf/test_adjust_tail.c
 create mode 100644 tools/testing/selftests/bpf/test_btf.c
 create mode 100644 tools/testing/selftests/bpf/test_btf_haskv.c
 create mode 100644 tools/testing/selftests/bpf/test_btf_nokv.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ