[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181021192426.22776-1-daniel@iogearbox.net>
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