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:   Sun, 21 Oct 2018 21:24:26 +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-10-21

Hi David,

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

The main changes are:

1) Implement two new kind of BPF maps, that is, queue and stack
   map along with new peek, push and pop operations, from Mauricio.

2) Add support for MSG_PEEK flag when redirecting into an ingress
   psock sk_msg queue, and add a new helper bpf_msg_push_data() for
   insert data into the message, from John.

3) Allow for BPF programs of type BPF_PROG_TYPE_CGROUP_SKB to use
   direct packet access for __skb_buff, from Song.

4) Use more lightweight barriers for walking perf ring buffer for
   libbpf and perf tool as well. Also, various fixes and improvements
   from verifier side, from Daniel.

5) Add per-symbol visibility for DSO in libbpf and hide by default
   global symbols such as netlink related functions, from Andrey.

6) Two improvements to nfp's BPF offload to check vNIC capabilities
   in case prog is shared with multiple vNICs and to protect against
   mis-initializing atomic counters, from Jakub.

7) Fix for bpftool to use 4 context mode for the nfp disassembler,
   also from Jakub.

8) Fix a return value comparison in test_libbpf.sh and add several
   bpftool improvements in bash completion, documentation of bpf fs
   restrictions and batch mode summary print, from Quentin.

9) Fix a file resource leak in BPF selftest's load_kallsyms()
   helper, from Peng.

10) Fix an unused variable warning in map_lookup_and_delete_elem(),
    from Alexei.

11) Fix bpf_skb_adjust_room() signature in BPF UAPI helper doc,
    from Nicolas.

12) Add missing executables to .gitignore in BPF selftests, from Anders.

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 2c59f06cc0442862d589c36bd2f29667f96c35e7:

  Merge branch 'net-Kernel-side-filtering-for-route-dumps' (2018-10-16 00:14: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 fe8ecccc10b3adc071de05ca7af728ca1a4ac9aa:

  tools: bpftool: fix completion for "bpftool map update" (2018-10-21 20:45:14 +0200)

----------------------------------------------------------------
Alexei Starovoitov (6):
      Merge branch 'nfp-improve-bpf-offload'
      Merge branch 'queue_stack_maps'
      Merge branch 'improve_perf_barriers'
      Merge branch 'cg_skb_direct_pkt_access'
      bpf: remove unused variable
      Merge branch 'misc-improvements'

Anders Roxell (1):
      selftests/bpf: add missing executables to .gitignore

Andrey Ignatov (1):
      libbpf: Per-symbol visibility for DSO

Daniel Borkmann (11):
      bpf, tls: add tls header to tools infrastructure
      Merge branch 'bpf-sk-msg-peek'
      tools, perf: add and use optimized ring_buffer_{read_head, write_tail} helpers
      bpf, libbpf: use correct barriers in perf ring buffer walk
      Merge branch 'bpf-msg-push-data'
      ulp: remove uid and user_visible members
      bpf, verifier: fix register type dump in xadd and st
      bpf, verifier: reject xadd on flow key memory
      bpf, verifier: remove unneeded flow key in check_helper_mem_access
      bpf, verifier: avoid retpoline for map push/pop/peek operation
      bpf, libbpf: simplify and cleanup perf ring buffer walk

Jakub Kicinski (3):
      nfp: bpf: protect against mis-initializing atomic counters
      nfp: bpf: double check vNIC capabilities after object sharing
      tools: bpftool: use 4 context mode for the NFP disasm

John Fastabend (8):
      bpf: sockmap, fix skmsg recvmsg handler to track size correctly
      bpf: skmsg, improve sk_msg_used_element to work in cork context
      bpf: sockmap, support for msg_peek in sk_msg with redirect ingress
      bpf: sockmap, add msg_peek tests to test_sockmap
      bpf: skmsg, fix psock create on existing kcm/tls port
      bpf: sk_msg program helper bpf_msg_push_data
      bpf: libbpf support for msg_push_data
      bpf: test_sockmap add options to use msg_push_data

Mauricio Vasquez B (7):
      bpf: rename stack trace map operations
      bpf/syscall: allow key to be null in map functions
      bpf/verifier: add ARG_PTR_TO_UNINIT_MAP_VALUE
      bpf: add queue and stack maps
      bpf: add MAP_LOOKUP_AND_DELETE_ELEM syscall
      Sync uapi/bpf.h to tools/include
      selftests/bpf: add test cases for queue and stack maps

Nicolas Dichtel (1):
      bpf: fix doc of bpf_skb_adjust_room() in uapi

Peng Hao (1):
      selftests/bpf: fix file resource leak in load_kallsyms

Quentin Monnet (4):
      selftests/bpf: fix return value comparison for tests in test_libbpf.sh
      tools: bpftool: document restriction on '.' in names to pin in bpffs
      tools: bpftool: print nb of cmds to stdout (not stderr) for batch mode
      tools: bpftool: fix completion for "bpftool map update"

Song Liu (2):
      bpf: add cg_skb_is_valid_access for BPF_PROG_TYPE_CGROUP_SKB
      bpf: add tests for direct packet access from CGROUP_SKB

 drivers/net/ethernet/netronome/nfp/bpf/main.h      |  10 +-
 drivers/net/ethernet/netronome/nfp/bpf/offload.c   |  32 ++-
 drivers/net/ethernet/netronome/nfp/bpf/verifier.c  |  69 ++++-
 include/linux/bpf.h                                |   7 +
 include/linux/bpf_types.h                          |   4 +-
 include/linux/filter.h                             |  21 ++
 include/linux/skmsg.h                              |  42 ++-
 include/net/tcp.h                                  |   9 +-
 include/uapi/linux/bpf.h                           |  50 +++-
 kernel/bpf/Makefile                                |   2 +-
 kernel/bpf/cgroup.c                                |   6 +
 kernel/bpf/core.c                                  |   3 +
 kernel/bpf/helpers.c                               |  43 +++
 kernel/bpf/queue_stack_maps.c                      | 288 +++++++++++++++++++++
 kernel/bpf/stackmap.c                              |   2 +-
 kernel/bpf/syscall.c                               |  91 ++++++-
 kernel/bpf/verifier.c                              |  85 +++++-
 net/bpf/test_run.c                                 |  15 ++
 net/core/filter.c                                  | 176 ++++++++++++-
 net/core/sock_map.c                                |  11 +-
 net/ipv4/tcp_bpf.c                                 |  41 ++-
 net/tls/tls_main.c                                 |   2 -
 net/tls/tls_sw.c                                   |   3 +-
 tools/arch/arm64/include/asm/barrier.h             |  70 +++++
 tools/arch/ia64/include/asm/barrier.h              |  13 +
 tools/arch/powerpc/include/asm/barrier.h           |  16 ++
 tools/arch/s390/include/asm/barrier.h              |  13 +
 tools/arch/sparc/include/asm/barrier_64.h          |  13 +
 tools/arch/x86/include/asm/barrier.h               |  14 +
 tools/bpf/bpftool/Documentation/bpftool-map.rst    |   4 +-
 tools/bpf/bpftool/Documentation/bpftool-prog.rst   |   8 +-
 tools/bpf/bpftool/bash-completion/bpftool          |   2 +-
 tools/bpf/bpftool/common.c                         |   5 +-
 tools/bpf/bpftool/jit_disasm.c                     |   4 +-
 tools/bpf/bpftool/main.c                           |   3 +-
 tools/bpf/bpftool/main.h                           |   6 +-
 tools/bpf/bpftool/map_perf_ring.c                  |  10 +-
 tools/bpf/bpftool/prog.c                           |  14 +-
 tools/include/asm/barrier.h                        |  35 +++
 tools/include/linux/ring_buffer.h                  |  73 ++++++
 tools/include/uapi/linux/bpf.h                     |  50 +++-
 tools/include/uapi/linux/tls.h                     |  78 ++++++
 tools/lib/bpf/Makefile                             |   1 +
 tools/lib/bpf/bpf.c                                |  12 +
 tools/lib/bpf/bpf.h                                | 120 +++++----
 tools/lib/bpf/btf.h                                |  22 +-
 tools/lib/bpf/libbpf.c                             |  75 +++---
 tools/lib/bpf/libbpf.h                             | 191 +++++++-------
 tools/perf/util/mmap.h                             |  15 +-
 tools/testing/selftests/bpf/.gitignore             |   2 +
 tools/testing/selftests/bpf/Makefile               |   5 +-
 tools/testing/selftests/bpf/bpf_helpers.h          |   9 +
 tools/testing/selftests/bpf/test_libbpf.sh         |   2 +-
 tools/testing/selftests/bpf/test_maps.c            | 122 +++++++++
 tools/testing/selftests/bpf/test_progs.c           |  99 +++++++
 tools/testing/selftests/bpf/test_queue_map.c       |   4 +
 tools/testing/selftests/bpf/test_queue_stack_map.h |  59 +++++
 tools/testing/selftests/bpf/test_sockmap.c         | 238 ++++++++++++-----
 tools/testing/selftests/bpf/test_sockmap_kern.h    |  97 +++++--
 tools/testing/selftests/bpf/test_stack_map.c       |   4 +
 tools/testing/selftests/bpf/test_verifier.c        | 181 ++++++++++++-
 tools/testing/selftests/bpf/trace_helpers.c        |   8 +-
 62 files changed, 2315 insertions(+), 394 deletions(-)
 create mode 100644 kernel/bpf/queue_stack_maps.c
 create mode 100644 tools/include/linux/ring_buffer.h
 create mode 100644 tools/include/uapi/linux/tls.h
 create mode 100644 tools/testing/selftests/bpf/test_queue_map.c
 create mode 100644 tools/testing/selftests/bpf/test_queue_stack_map.h
 create mode 100644 tools/testing/selftests/bpf/test_stack_map.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ