netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Borkmann <daniel@iogearbox.net>
To: davem@davemloft.net
Cc: daniel@iogearbox.net, ast@kernel.org, netdev@vger.kernel.org
Subject: pull-request: bpf 2018-02-09
Date: Fri,  9 Feb 2018 02:29:06 +0100	[thread overview]
Message-ID: <20180209012906.19277-1-daniel@iogearbox.net> (raw)

Hi David,

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

The main changes are:

1) Two fixes for BPF sockmap in order to break up circular map references
   from programs attached to sockmap, and detaching related sockets in
   case of socket close() event. For the latter we get rid of the
   smap_state_change() and plug into ULP infrastructure, which will later
   also be used for additional features anyway such as TX hooks. For the
   second issue, dependency chain is broken up via map release callback
   to free parse/verdict programs, all from John.

2) Fix a libbpf relocation issue that was found while implementing XDP
   support for Suricata project. Issue was that when clang was invoked
   with default target instead of bpf target, then various other e.g.
   debugging relevant sections are added to the ELF file that contained
   relocation entries pointing to non-BPF related sections which libbpf
   trips over instead of skipping them. Test cases for libbpf are added
   as well, from Jesper.

3) Various misc fixes for bpftool and one for libbpf: a small addition
   to libbpf to make sure it recognizes all standard section prefixes.
   Then, the Makefile in bpftool/Documentation is improved to explicitly
   check for rst2man being installed on the system as we otherwise risk
   installing empty man pages; the man page for bpftool-map is corrected
   and a set of missing bash completions added in order to avoid shipping
   bpftool where the completions are only partially working, from Quentin.

4) Fix applying the relocation to immediate load instructions in the
   nfp JIT which were missing a shift, from Jakub.

5) Two fixes for the BPF kernel selftests: handle CONFIG_BPF_JIT_ALWAYS_ON=y
   gracefully in test_bpf.ko module and mark them as FLAG_EXPECTED_FAIL
   in this case; and explicitly delete the veth devices in the two tests
   test_xdp_{meta,redirect}.sh before dismantling the netnses as when
   selftests are run in batch mode, then workqueue to handle destruction
   might not have finished yet and thus veth creation in next test under
   same dev name would fail, from Yonghong.

6) Fix test_kmod.sh to check the test_bpf.ko module path before performing
   an insmod, and fallback to modprobe. Especially the latter is useful
   when having a device under test that has the modules installed instead,
   from Naresh.

Please consider pulling these changes from:

  git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git

Thanks a lot!

----------------------------------------------------------------

The following changes since commit a6b88814ab541d386d793f6df260a3e4d5cccb11:

  Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf (2018-02-04 16:46:58 -0500)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git 

for you to fetch changes up to d977ae593b2d3f9ef0df795eda93f4e6bc92b323:

  Merge branch 'bpf-libbpf-relo-fix-and-tests' (2018-02-09 00:26:28 +0100)

----------------------------------------------------------------
Daniel Borkmann (3):
      Merge branch 'bpf-sockmap-fixes'
      Merge branch 'bpf-misc-nfp-bpftool-doc-fixes'
      Merge branch 'bpf-libbpf-relo-fix-and-tests'

Jakub Kicinski (1):
      nfp: bpf: fix immed relocation for larger offsets

Jesper Dangaard Brouer (5):
      bpf: Sync kernel ABI header with tooling header for bpf_common.h
      tools/libbpf: improve the pr_debug statements to contain section numbers
      selftests/bpf: add test program for loading BPF ELF files
      selftests/bpf: add selftest that use test_libbpf_open
      tools/libbpf: handle issues with bpf ELF objects containing .eh_frames

John Fastabend (3):
      net: add a UID to use for ULP socket assignment
      bpf: sockmap, add sock close() hook to remove socks
      bpf: sockmap, fix leaking maps with attached but not detached progs

Naresh Kamboju (1):
      selftests: bpf: test_kmod.sh: check the module path before insmod

Quentin Monnet (5):
      libbpf: complete list of strings for guessing program type
      tools: bpftool: exit doc Makefile early if rst2man is not available
      tools: bpftool: make syntax for program map update explicit in man page
      tools: bpftool: add bash completion for `bpftool prog load`
      tools: bpftool: add bash completion for cgroup commands

Yonghong Song (2):
      bpf: fix selftests/bpf test_kmod.sh failure when CONFIG_BPF_JIT_ALWAYS_ON=y
      tools/bpf: fix batch-mode test failure of test_xdp_redirect.sh

 drivers/net/ethernet/netronome/nfp/nfp_asm.c       |   2 +-
 include/net/tcp.h                                  |   8 +
 kernel/bpf/sockmap.c                               | 187 +++++++++++++--------
 lib/test_bpf.c                                     |  31 +++-
 net/ipv4/tcp_ulp.c                                 |  59 ++++++-
 net/tls/tls_main.c                                 |   2 +
 tools/bpf/bpftool/Documentation/Makefile           |   5 +
 tools/bpf/bpftool/Documentation/bpftool-cgroup.rst |   4 +-
 tools/bpf/bpftool/Documentation/bpftool-map.rst    |   3 +-
 tools/bpf/bpftool/bash-completion/bpftool          |  72 +++++++-
 tools/include/uapi/linux/bpf_common.h              |   7 +-
 tools/lib/bpf/libbpf.c                             |  56 ++++--
 tools/testing/selftests/bpf/Makefile               |  12 +-
 tools/testing/selftests/bpf/test_kmod.sh           |  18 +-
 tools/testing/selftests/bpf/test_libbpf.sh         |  49 ++++++
 tools/testing/selftests/bpf/test_libbpf_open.c     | 150 +++++++++++++++++
 tools/testing/selftests/bpf/test_xdp_meta.sh       |   1 +
 tools/testing/selftests/bpf/test_xdp_redirect.sh   |   2 +
 18 files changed, 557 insertions(+), 111 deletions(-)
 create mode 100755 tools/testing/selftests/bpf/test_libbpf.sh
 create mode 100644 tools/testing/selftests/bpf/test_libbpf_open.c

             reply	other threads:[~2018-02-09  1:29 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-09  1:29 Daniel Borkmann [this message]
2018-02-09 19:05 ` pull-request: bpf 2018-02-09 David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180209012906.19277-1-daniel@iogearbox.net \
    --to=daniel@iogearbox.net \
    --cc=ast@kernel.org \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).