[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181211003356.10311-1-daniel@iogearbox.net>
Date: Tue, 11 Dec 2018 01:33:56 +0100
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-12-11
Hi David,
The following pull-request contains BPF updates for your *net-next* tree.
It has three minor merge conflicts, resolutions:
1) tools/testing/selftests/bpf/test_verifier.c
Take first chunk with alignment_prevented_execution.
2) net/core/filter.c
[...]
case bpf_ctx_range_ptr(struct __sk_buff, flow_keys):
case bpf_ctx_range(struct __sk_buff, wire_len):
return false;
[...]
3) include/uapi/linux/bpf.h
Take the second chunk for the two cases each.
The main changes are:
1) Add support for BPF line info via BTF and extend libbpf as well
as bpftool's program dump to annotate output with BPF C code to
facilitate debugging and introspection, from Martin.
2) Add support for BPF_ALU | BPF_ARSH | BPF_{K,X} in interpreter
and all JIT backends, from Jiong.
3) Improve BPF test coverage on archs with no efficient unaligned
access by adding an "any alignment" flag to the BPF program load
to forcefully disable verifier alignment checks, from David.
4) Add a new bpf_prog_test_run_xattr() API to libbpf which allows for
proper use of BPF_PROG_TEST_RUN with data_out, from Lorenz.
5) Extend tc BPF programs to use a new __sk_buff field called wire_len
for more accurate accounting of packets going to wire, from Petar.
6) Improve bpftool to allow dumping the trace pipe from it and add
several improvements in bash completion and map/prog dump,
from Quentin.
7) Optimize arm64 BPF JIT to always emit movn/movk/movk sequence for
kernel addresses and add a dedicated BPF JIT backend allocator,
from Ard.
8) Add a BPF helper function for IR remotes to report mouse movements,
from Sean.
9) Various cleanups in BPF prog dump e.g. to make UAPI bpf_prog_info
member naming consistent with existing conventions, from Yonghong
and Song.
10) Misc cleanups and improvements in allowing to pass interface name
via cmdline for xdp1 BPF example, from Matteo.
11) Fix a potential segfault in BPF sample loader's kprobes handling,
from Daniel T.
12) Fix SPDX license in libbpf's README.rst, from Andrey.
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 93029d7d407fa744a2de358664bd779cda694657:
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next (2018-11-29 18:15:07 -0800)
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 aa570ff4fd3682d35cdcc5190c380e6c4d7d08e2:
Merge branch 'rename-info_cnt-to-nr_info' (2018-12-10 14:51:46 -0800)
----------------------------------------------------------------
Alexei Starovoitov (8):
Merge branch 'bpftool-fixes'
Merge branch 'improve-test-coverage-sparc'
Merge branch 'xdp1-improvements'
Merge branch 'prog_test_run-improvement'
Merge branch 'bpf_func_info-improvements'
Merge branch 'support-alu32_arsh'
Merge branch 'bpf_line_info'
Merge branch 'rename-info_cnt-to-nr_info'
Andrey Ignatov (1):
libbpf: Fix license in README.rst
Ard Biesheuvel (3):
arm64/bpf: use movn/movk/movk sequence to generate kernel addresses
bpf: add __weak hook for allocating executable memory
arm64/bpf: don't allocate BPF JIT programs in module memory
Daniel Borkmann (1):
Merge branch 'bpf-jit-overridable-alloc'
Daniel T. Lee (1):
samples: bpf: fix: seg fault with NULL pointer arg
David Miller (5):
bpf: Fix verifier log string check for bad alignment.
bpf: Add BPF_F_ANY_ALIGNMENT.
bpf: Adjust F_NEEDS_EFFICIENT_UNALIGNED_ACCESS handling in test_verifier.c
bpf: Make more use of 'any' alignment in test_verifier.c
bpf: Apply F_NEEDS_EFFICIENT_UNALIGNED_ACCESS to more ACCEPT test cases.
Jiong Wang (9):
mips: bpf: fix encoding bug for mm_srlv32_op
mips: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_X
ppc: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_*
s390: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_*
nfp: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_*
bpf: interpreter support BPF_ALU | BPF_ARSH
bpf: verifier remove the rejection on BPF_ALU | BPF_ARSH
selftests: bpf: update testcases for BPF_ALU | BPF_ARSH
bpf: relax verifier restriction on BPF_MOV | BPF_ALU
Lorenz Bauer (4):
bpf: respect size hint to BPF_PROG_TEST_RUN if present
tools: sync uapi/linux/bpf.h
libbpf: add bpf_prog_test_run_xattr
selftests: add a test for bpf_prog_test_run_xattr
Martin KaFai Lau (13):
bpf: Fix memleak in aux->func_info and aux->btf
bpf: Improve the info.func_info and info.func_info_rec_size behavior
bpf: Change insn_offset to insn_off in bpf_func_info
bpf: tools: Sync uapi bpf.h for the name changes in bpf_func_info
bpf: Expect !info.func_info and insn_off name changes in test_btf/libbpf/bpftool
bpf: Add bpf_line_info support
bpf: tools: Sync uapi bpf.h
bpf: Refactor and bug fix in test_func_type in test_btf.c
bpf: Add unit tests for bpf_line_info
bpf: libbpf: Refactor and bug fix on the bpf_func_info loading logic
bpf: libbpf: Add btf_line_info support to libbpf
bpf: libbpf: bpftool: Print bpf_line_info during prog dump
bpf: bpftool: Fix newline and p_err issue
Matteo Croce (2):
samples: bpf: improve xdp1 example
samples: bpf: get ifindex from ifname
Petar Penkov (1):
bpf: allow BPF read access to qdisc pkt_len
Quentin Monnet (7):
tools: bpftool: use "/proc/self/" i.o. crafting links with getpid()
tools: bpftool: fix bash completion for bpftool prog (attach|detach)
tools: bpftool: fix bash completion for new map types (queue and stack)
tools: bpftool: mark offloaded programs more explicitly in plain output
tools: bpftool: add owner_prog_type and owner_jited to bpftool output
bpf: fix documentation for eBPF helpers
tools: bpftool: add a command to dump the trace pipe
Sean Young (1):
media: bpf: add bpf function to report mouse movement
Song Liu (1):
bpf: clean up bpf_prog_get_info_by_fd()
Yonghong Song (3):
bpf: rename *_info_cnt to nr_*_info in bpf_prog_info
tools/bpf: sync kernel uapi bpf.h to tools directory
tools/bpf: rename *_info_cnt to nr_*_info
arch/arm64/include/asm/memory.h | 5 +-
arch/arm64/net/bpf_jit_comp.c | 30 +-
arch/mips/include/asm/uasm.h | 1 +
arch/mips/include/uapi/asm/inst.h | 3 +-
arch/mips/mm/uasm-micromips.c | 1 +
arch/mips/mm/uasm-mips.c | 1 +
arch/mips/mm/uasm.c | 9 +-
arch/mips/net/ebpf_jit.c | 4 +
arch/powerpc/include/asm/ppc-opcode.h | 2 +
arch/powerpc/net/bpf_jit.h | 4 +
arch/powerpc/net/bpf_jit_comp64.c | 6 +
arch/s390/net/bpf_jit_comp.c | 12 +
arch/x86/net/bpf_jit_comp.c | 2 +
drivers/media/rc/bpf-lirc.c | 24 +
drivers/net/ethernet/netronome/nfp/bpf/jit.c | 45 ++
include/linux/bpf.h | 21 +
include/linux/bpf_verifier.h | 1 +
include/linux/btf.h | 1 +
include/linux/filter.h | 7 +
include/uapi/linux/bpf.h | 150 ++--
kernel/bpf/btf.c | 2 +-
kernel/bpf/core.c | 186 ++++-
kernel/bpf/syscall.c | 130 +++-
kernel/bpf/verifier.c | 239 ++++--
net/bpf/test_run.c | 15 +-
net/core/filter.c | 16 +
samples/bpf/bpf_load.c | 4 +-
samples/bpf/xdp1_user.c | 27 +-
tools/bpf/bpftool/Documentation/bpftool-prog.rst | 31 +-
tools/bpf/bpftool/bash-completion/bpftool | 86 ++-
tools/bpf/bpftool/btf_dumper.c | 64 ++
tools/bpf/bpftool/common.c | 7 +-
tools/bpf/bpftool/jit_disasm.c | 34 +-
tools/bpf/bpftool/main.h | 49 +-
tools/bpf/bpftool/map.c | 50 +-
tools/bpf/bpftool/prog.c | 149 ++--
tools/bpf/bpftool/tracelog.c | 157 ++++
tools/bpf/bpftool/xlated_dumper.c | 34 +-
tools/bpf/bpftool/xlated_dumper.h | 7 +-
tools/include/uapi/linux/bpf.h | 63 +-
tools/lib/bpf/Build | 2 +-
tools/lib/bpf/README.rst | 2 +-
tools/lib/bpf/bpf.c | 124 +++-
tools/lib/bpf/bpf.h | 24 +-
tools/lib/bpf/bpf_prog_linfo.c | 253 +++++++
tools/lib/bpf/btf.c | 344 +++++----
tools/lib/bpf/btf.h | 25 +-
tools/lib/bpf/libbpf.c | 159 ++--
tools/lib/bpf/libbpf.h | 13 +
tools/lib/bpf/libbpf.map | 5 +
tools/testing/selftests/bpf/bpf_helpers.h | 2 +
tools/testing/selftests/bpf/test_align.c | 4 +-
tools/testing/selftests/bpf/test_btf.c | 820 ++++++++++++++++++---
tools/testing/selftests/bpf/test_lirc_mode2.sh | 3 +-
tools/testing/selftests/bpf/test_lirc_mode2_kern.c | 3 +
tools/testing/selftests/bpf/test_lirc_mode2_user.c | 65 +-
tools/testing/selftests/bpf/test_progs.c | 55 +-
tools/testing/selftests/bpf/test_verifier.c | 176 ++++-
58 files changed, 3076 insertions(+), 682 deletions(-)
create mode 100644 tools/bpf/bpftool/tracelog.c
create mode 100644 tools/lib/bpf/bpf_prog_linfo.c
Powered by blists - more mailing lists