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]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ