mbox series

pull-request: bpf 2018-02-20

Message ID 20180220210832.13035-1-daniel@iogearbox.net
State Accepted, archived
Delegated to: David Miller
Headers show
Series pull-request: bpf 2018-02-20 | expand

Pull-request

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

Message

Daniel Borkmann Feb. 20, 2018, 9:08 p.m. UTC
Hi David,

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

The main changes are:

1) Fix a memory leak in LPM trie's map_free() callback function, where
   the trie structure itself was not freed since initial implementation.
   Also a synchronize_rcu() was needed in order to wait for outstanding
   programs accessing the trie to complete, from Yonghong.

2) Fix sock_map_alloc()'s error path in order to correctly propagate
   the -EINVAL error in case of too large allocation requests. This
   was just recently introduced when fixing close hooks via ULP layer,
   fix from Eric.

3) Do not use GFP_ATOMIC in __cpu_map_entry_alloc(). Reason is that this
   will not work with the recent __ptr_ring_init_queue_alloc() conversion
   to kvmalloc_array(), where in case of fallback to vmalloc() that GFP
   flag is invalid, from Jason.

4) Fix two recent syzkaller warnings: i) fix bpf_prog_array_copy_to_user()
   when a prog query with a big number of ids was performed where we'd
   otherwise trigger a warning from allocator side, ii) fix a missing
   mlock precharge on arraymaps, from Daniel.

5) Two fixes for bpftool in order to avoid breaking JSON output when used
   in batch mode, from Quentin.

6) Move a pr_debug() in libbpf in order to avoid having an otherwise
   uninitialized variable in bpf_program__reloc_text(), from Jeremy.

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 d4014d8cc6dfa964e3e66df525de2384e3583018:

  rds: do not call ->conn_alloc with GFP_KERNEL (2018-02-13 13:52:02 -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 b1a2ce825737b0165cc08e6f98f8c0ea1affdd60:

  tools/libbpf: Avoid possibly using uninitialized variable (2018-02-20 21:08:20 +0100)

----------------------------------------------------------------
Daniel Borkmann (3):
      bpf: fix bpf_prog_array_copy_to_user warning from perf event prog query
      Merge branch 'bpf-bpftool-json-fixes'
      bpf: fix mlock precharge on arraymaps

Eric Dumazet (1):
      bpf: fix sock_map_alloc() error path

Jason Wang (1):
      bpf: cpumap: use GFP_KERNEL instead of GFP_ATOMIC in __cpu_map_entry_alloc()

Jeremy Cline (1):
      tools/libbpf: Avoid possibly using uninitialized variable

Quentin Monnet (2):
      tools: bpftool: preserve JSON for batch mode when dumping insns to file
      tools: bpftool: preserve JSON output on errors on batch file parsing

Yonghong Song (1):
      bpf: fix memory leak in lpm_trie map_free callback function

 kernel/bpf/arraymap.c    | 28 ++++++++++++++++------------
 kernel/bpf/core.c        |  2 +-
 kernel/bpf/cpumap.c      |  2 +-
 kernel/bpf/lpm_trie.c    | 11 +++++++----
 kernel/bpf/sockmap.c     |  3 ++-
 kernel/trace/bpf_trace.c |  2 ++
 tools/bpf/bpftool/main.c |  2 +-
 tools/bpf/bpftool/prog.c |  3 +++
 tools/lib/bpf/libbpf.c   |  5 +++--
 9 files changed, 36 insertions(+), 22 deletions(-)

Comments

David Miller Feb. 21, 2018, 8:38 p.m. UTC | #1
From: Daniel Borkmann <daniel@iogearbox.net>
Date: Tue, 20 Feb 2018 22:08:32 +0100

> The following pull-request contains BPF updates for your *net* tree.
> 
> The main changes are:
 ...
> Please consider pulling these changes from:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git

Pulled, thanks Daniel.