mbox series

pull-request: bpf-next 2023-08-09

Message ID 20230810055123.109578-1-martin.lau@linux.dev (mailing list archive)
State Accepted
Commit 6a1ed1430daa2ccf8ac457e0db93fb0925b801ca
Headers show
Series pull-request: bpf-next 2023-08-09 | expand

Pull-request

https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git tags/for-netdev

Checks

Context Check Description
netdev/tree_selection success Pull request for net-next, async
netdev/build_32bit success Errors and warnings before: 3070 this patch: 3068
netdev/build_clang success Errors and warnings before: 1532 this patch: 1532
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 3102 this patch: 3100

Message

Martin KaFai Lau Aug. 10, 2023, 5:51 a.m. UTC
Hi David, hi Jakub, hi Paolo, hi Eric,

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

We've added 19 non-merge commits during the last 6 day(s) which contain
a total of 25 files changed, 369 insertions(+), 141 deletions(-).

The main changes are:

1) Fix array-index-out-of-bounds access when detaching from an
   already empty mprog entry from Daniel Borkmann.

2) Adjust bpf selftest because of a recent llvm change
   related to the cpu-v4 ISA from Eduard Zingerman.

3) Add uprobe support for the bpf_get_func_ip helper from Jiri Olsa.

4) Fix a KASAN splat due to the kernel incorrectly accepted
   an invalid program using the recent cpu-v4 instruction from
   Yonghong Song.

Please consider pulling these changes from:

  git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git tags/for-netdev

Thanks a lot!

Also thanks to reporters, reviewers and testers of commits in this pull-request:

Alan Maguire, Dan Carpenter, David Vernet, Eduard Zingerman, Simon Horman,
Viktor Malik, Yonghong Song

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

The following changes since commit 6f9bad6b2d7d6b4e11032b944e379974e31c5c8f:

  eth: dpaa: add missing net/xdp.h include (2023-08-03 16:17:34 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git tags/for-netdev

for you to fetch changes up to 2adbb7637fd1fcec93f4680ddb5ddbbd1a91aefb:

  bpf: btf: Remove two unused function declarations (2023-08-08 17:25:02 -0700)

----------------------------------------------------------------
bpf-next pull-request 2023-08-09

----------------------------------------------------------------
Daniel Borkmann (2):
      bpf: Fix mprog detachment for empty mprog entry
      selftests/bpf: Add test for detachment on empty mprog entry

Eduard Zingerman (1):
      selftests/bpf: relax expected log messages to allow emitting BPF_ST

Jiri Olsa (3):
      bpf: Add support for bpf_get_func_ip helper for uprobe program
      selftests/bpf: Add bpf_get_func_ip tests for uprobe on function entry
      selftests/bpf: Add bpf_get_func_ip test for uprobe inside function

Kui-Feng Lee (4):
      selftests/bpf: fix the incorrect verification of port numbers.
      bpf: fix inconsistent return types of bpf_xdp_copy_buf().
      bpf: fix bpf_dynptr_slice() to stop return an ERR_PTR.
      selftests/bpf: remove duplicated functions

Li kunyu (1):
      bpf: bpf_struct_ops: Remove unnecessary initial values of variables

Martin KaFai Lau (1):
      Merge branch 'bpf: Support bpf_get_func_ip helper in uprobes'

Sergey Kacheev (1):
      libbpf: Use local includes inside the library

Will Hawkins (2):
      bpf, docs: Formalize type notation and function semantics in ISA standard
      bpf, docs: Fix small typo and define semantics of sign extension

Yang Yingliang (1):
      bpf: change bpf_alu_sign_string and bpf_movsx_string to static

Yonghong Song (2):
      bpf: Fix an incorrect verification success with movsx insn
      selftests/bpf: Add a movsx selftest for sign-extension of R10

Yue Haibing (2):
      bpf: lru: Remove unused declaration bpf_lru_promote()
      bpf: btf: Remove two unused function declarations

 .../bpf/standardization/instruction-set.rst        | 121 ++++++++++++++++++---
 include/linux/bpf.h                                |   9 +-
 include/linux/btf.h                                |   2 -
 include/linux/filter.h                             |   5 +-
 include/uapi/linux/bpf.h                           |   7 +-
 kernel/bpf/bpf_lru_list.h                          |   1 -
 kernel/bpf/bpf_struct_ops.c                        |   6 +-
 kernel/bpf/disasm.c                                |   4 +-
 kernel/bpf/helpers.c                               |   2 +-
 kernel/bpf/mprog.c                                 |   2 +
 kernel/bpf/verifier.c                              |  31 ++++--
 kernel/trace/bpf_trace.c                           |  11 +-
 kernel/trace/trace_probe.h                         |   5 +
 kernel/trace/trace_uprobe.c                        |   7 +-
 tools/include/uapi/linux/bpf.h                     |   7 +-
 tools/lib/bpf/bpf_tracing.h                        |   2 +-
 tools/lib/bpf/usdt.bpf.h                           |   4 +-
 .../selftests/bpf/prog_tests/cgroup_tcp_skb.c      |  92 +++-------------
 .../selftests/bpf/prog_tests/get_func_ip_test.c    |  57 +++++++++-
 tools/testing/selftests/bpf/prog_tests/log_fixup.c |   2 +-
 tools/testing/selftests/bpf/prog_tests/spin_lock.c |  37 ++++++-
 tools/testing/selftests/bpf/prog_tests/tc_opts.c   |  31 ++++++
 .../testing/selftests/bpf/progs/get_func_ip_test.c |  25 ++++-
 .../selftests/bpf/progs/get_func_ip_uprobe_test.c  |  18 +++
 tools/testing/selftests/bpf/progs/verifier_movsx.c |  22 ++++
 25 files changed, 369 insertions(+), 141 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/progs/get_func_ip_uprobe_test.c

Comments

Jakub Kicinski Aug. 10, 2023, 9:19 p.m. UTC | #1
On Wed,  9 Aug 2023 22:51:23 -0700 Martin KaFai Lau wrote:
>       bpf: fix bpf_dynptr_slice() to stop return an ERR_PTR.

This one looks like solid bpf material TBH, any reason it's here?
Martin KaFai Lau Aug. 10, 2023, 9:26 p.m. UTC | #2
On 8/10/23 2:19 PM, Jakub Kicinski wrote:
> On Wed,  9 Aug 2023 22:51:23 -0700 Martin KaFai Lau wrote:
>>        bpf: fix bpf_dynptr_slice() to stop return an ERR_PTR.
> 
> This one looks like solid bpf material TBH, any reason it's here?

There is an earlier bpf_dynptr_check_off_len() call which should have caught 
that already, so ERR_PTR case should not happen.
https://lore.kernel.org/bpf/e0e8bf3b-70af-3827-2fa3-30f3d48bcf46@linux.dev/
Jakub Kicinski Aug. 10, 2023, 9:33 p.m. UTC | #3
On Thu, 10 Aug 2023 14:26:01 -0700 Martin KaFai Lau wrote:
> On 8/10/23 2:19 PM, Jakub Kicinski wrote:
> > On Wed,  9 Aug 2023 22:51:23 -0700 Martin KaFai Lau wrote:  
> >>        bpf: fix bpf_dynptr_slice() to stop return an ERR_PTR.  
> > 
> > This one looks like solid bpf material TBH, any reason it's here?  
> 
> There is an earlier bpf_dynptr_check_off_len() call which should have caught 
> that already, so ERR_PTR case should not happen.
> https://lore.kernel.org/bpf/e0e8bf3b-70af-3827-2fa3-30f3d48bcf46@linux.dev/

That kind of info needs to be in the commit message :(
patchwork-bot+netdevbpf@kernel.org Aug. 10, 2023, 9:40 p.m. UTC | #4
Hello:

This pull request was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Wed,  9 Aug 2023 22:51:23 -0700 you wrote:
> Hi David, hi Jakub, hi Paolo, hi Eric,
> 
> The following pull-request contains BPF updates for your *net-next* tree.
> 
> We've added 19 non-merge commits during the last 6 day(s) which contain
> a total of 25 files changed, 369 insertions(+), 141 deletions(-).
> 
> [...]

Here is the summary with links:
  - pull-request: bpf-next 2023-08-09
    https://git.kernel.org/netdev/net-next/c/6a1ed1430daa

You are awesome, thank you!