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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi David, hi Jakub, hi Paolo, hi Eric,

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

We've added 54 non-merge commits during the last 10 day(s) which contain
a total of 84 files changed, 4026 insertions(+), 562 deletions(-).

The main changes are:

1) Add SO_REUSEPORT support for TC bpf_sk_assign from Lorenz Bauer,
   Daniel Borkmann

2) Support new insns from cpu v4 from Yonghong Song

3) Non-atomically allocate freelist during prefill from YiFei Zhu

4) Support defragmenting IPv(4|6) packets in BPF from Daniel Xu

5) Add tracepoint to xdp attaching failure from Leon Hwang

6) struct netdev_rx_queue and xdp.h reshuffling to reduce
   rebuild time from Jakub Kicinski

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:

Amritha Nambiar, Björn Töpel, Colm Harrington, Dave Thaler, David 
Vernet, Eduard Zingerman, Florian Westphal, Gerhard Engleder, Hou Tao, 
Jesper Dangaard Brouer, Jiri Olsa, Kuniyuki Iwashima, 
Quentin Monnet, Wei Fang, Yipeng Zou, Yonghong Song

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

The following changes since commit dc644b540a2d2874112706591234be3d3fbf9ef7:

  tcx: Fix splat in ingress_destroy upon tcx_entry_free (2023-07-24 11:42:35 -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 648880e9331c68b2008430fd90f3648d1795399d:

  Merge branch 'net: struct netdev_rx_queue and xdp.h reshuffling' (2023-08-03 08:38:53 -0700)

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

----------------------------------------------------------------
Alan Maguire (1):
      selftests/bpf: fix static assert compilation issue for test_cls_*.c

Alexei Starovoitov (3):
      Merge branch 'bpf-support-new-insns-from-cpu-v4'
      Merge branch 'support-defragmenting-ipv-4-6-packets-in-bpf'
      Merge branch 'bpf-xdp-add-tracepoint-to-xdp-attaching-failure'

Arnd Bergmann (2):
      bpf: work around -Wuninitialized warning
      bpf: fix bpf_probe_read_kernel prototype mismatch

Colin Ian King (1):
      selftests/xsk: Fix spelling mistake "querrying" -> "querying"

Daniel Borkmann (1):
      selftests/bpf: Test that SO_REUSEPORT can be used with sk_assign helper

Daniel Xu (6):
      netfilter: defrag: Add glue hooks for enabling/disabling defrag
      netfilter: bpf: Support BPF_F_NETFILTER_IP_DEFRAG in netfilter link
      bpf: selftests: Support not connecting client socket
      bpf: selftests: Support custom type and proto for client sockets
      bpf: selftests: Add defrag selftests
      netfilter: bpf: Only define get_proto_defrag_hook() if necessary

Hou Tao (2):
      bpf, cpumap: Remove unused cmap field from bpf_cpu_map_entry
      bpf, devmap: Remove unused dtab field from bpf_dtab_netdev

Jakub Kicinski (3):
      eth: add missing xdp.h includes in drivers
      net: move struct netdev_rx_queue out of netdevice.h
      net: invert the netdevice.h vs xdp.h dependency

Jose E. Marchesi (1):
      bpf, docs: fix BPF_NEG entry in instruction-set.rst

Leon Hwang (2):
      bpf, xdp: Add tracepoint to xdp attaching failure
      selftests/bpf: Add testcase for xdp attaching failure tracepoint

Lorenz Bauer (8):
      udp: re-score reuseport groups when connected sockets are present
      bpf: reject unhashed sockets in bpf_sk_assign
      net: export inet_lookup_reuseport and inet6_lookup_reuseport
      net: remove duplicate reuseport_lookup functions
      net: document inet[6]_lookup_reuseport sk_state requirements
      net: remove duplicate sk_lookup helpers
      bpf, net: Support SO_REUSEPORT sockets with bpf_sk_assign
      net: remove duplicate INDIRECT_CALLABLE_DECLARE of udp[6]_ehashfn

Martin KaFai Lau (3):
      Merge branch 'Add SO_REUSEPORT support for TC bpf_sk_assign'
      Merge branch 'Remove unused fields in cpumap & devmap'
      Merge branch 'net: struct netdev_rx_queue and xdp.h reshuffling'

Pu Lehui (1):
      riscv, bpf: Adapt bpf trampoline to optimized riscv ftrace framework

Randy Dunlap (1):
      libbpf: fix typos in Makefile

Yauheni Kaliuta (1):
      tracing: bpf: use struct trace_entry in struct syscall_tp_t

YiFei Zhu (1):
      bpf: Non-atomically allocate freelist during prefill

Yonghong Song (23):
      MAINTAINERS: Replace my email address
      bpf: Support new sign-extension load insns
      bpf: Support new sign-extension mov insns
      bpf: Handle sign-extenstin ctx member accesses
      bpf: Support new unconditional bswap instruction
      bpf: Support new signed div/mod instructions.
      bpf: Fix jit blinding with new sdiv/smov insns
      bpf: Support new 32bit offset jmp instruction
      bpf: Add kernel/bpftool asm support for new instructions
      selftests/bpf: Fix a test_verifier failure
      selftests/bpf: Add a cpuv4 test runner for cpu=v4 testing
      selftests/bpf: Add unit tests for new sign-extension load insns
      selftests/bpf: Add unit tests for new sign-extension mov insns
      selftests/bpf: Add unit tests for new bswap insns
      selftests/bpf: Add unit tests for new sdiv/smod insns
      selftests/bpf: Add unit tests for new gotol insn
      selftests/bpf: Test ldsx with more complex cases
      docs/bpf: Add documentation for new instructions
      bpf: Fix compilation warning with -Wparentheses
      selftests/bpf: Enable test test_progs-cpuv4 for gcc build kernel
      docs/bpf: Improve documentation for cpu=v4 instructions
      docs/bpf: Fix malformed documentation
      bpf: Fix an array-index-out-of-bounds issue in disasm.c

 Documentation/bpf/bpf_design_QA.rst                |   5 -
 .../bpf/standardization/instruction-set.rst        | 130 +++-
 MAINTAINERS                                        |   4 +-
 arch/riscv/net/bpf_jit_comp64.c                    | 153 ++--
 arch/x86/net/bpf_jit_comp.c                        | 141 +++-
 drivers/net/bonding/bond_main.c                    |   1 +
 drivers/net/ethernet/amazon/ena/ena_netdev.h       |   1 +
 drivers/net/ethernet/engleder/tsnep.h              |   1 +
 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h   |   1 +
 drivers/net/ethernet/freescale/enetc/enetc.h       |   1 +
 drivers/net/ethernet/freescale/fec.h               |   1 +
 drivers/net/ethernet/fungible/funeth/funeth_txrx.h |   1 +
 drivers/net/ethernet/google/gve/gve.h              |   1 +
 drivers/net/ethernet/intel/igc/igc.h               |   1 +
 .../net/ethernet/microchip/lan966x/lan966x_main.h  |   1 +
 drivers/net/ethernet/microsoft/mana/mana_en.c      |   1 +
 drivers/net/ethernet/stmicro/stmmac/stmmac.h       |   1 +
 drivers/net/ethernet/ti/cpsw_priv.h                |   1 +
 drivers/net/hyperv/hyperv_net.h                    |   1 +
 drivers/net/tap.c                                  |   1 +
 drivers/net/virtio_net.c                           |   1 +
 include/linux/bpf.h                                |  12 +
 include/linux/filter.h                             |  34 +-
 include/linux/netdevice.h                          |  55 +-
 include/linux/netfilter.h                          |  10 +
 include/net/busy_poll.h                            |   1 +
 include/net/inet6_hashtables.h                     |  81 ++-
 include/net/inet_hashtables.h                      |  74 +-
 include/net/mana/mana.h                            |   2 +
 include/net/netdev_rx_queue.h                      |  53 ++
 include/net/sock.h                                 |   7 +-
 include/net/xdp.h                                  |  29 +-
 include/trace/events/xdp.h                         |  18 +
 include/uapi/linux/bpf.h                           |   9 +-
 kernel/bpf/btf.c                                   |   1 +
 kernel/bpf/core.c                                  | 206 +++++-
 kernel/bpf/cpumap.c                                |   3 -
 kernel/bpf/devmap.c                                |   2 -
 kernel/bpf/disasm.c                                |  58 +-
 kernel/bpf/memalloc.c                              |  24 +-
 kernel/bpf/offload.c                               |   1 +
 kernel/bpf/verifier.c                              | 349 +++++++--
 kernel/trace/bpf_trace.c                           |  11 -
 kernel/trace/trace_syscalls.c                      |  12 +-
 net/bpf/test_run.c                                 |   1 +
 net/core/dev.c                                     |   6 +-
 net/core/filter.c                                  |   4 +-
 net/core/net-sysfs.c                               |   1 +
 net/ipv4/inet_hashtables.c                         |  66 +-
 net/ipv4/netfilter/nf_defrag_ipv4.c                |  17 +-
 net/ipv4/udp.c                                     |  88 +--
 net/ipv6/inet6_hashtables.c                        |  69 +-
 net/ipv6/netfilter/nf_defrag_ipv6_hooks.c          |  11 +
 net/ipv6/udp.c                                     |  96 +--
 net/netfilter/core.c                               |   6 +
 net/netfilter/nf_bpf_link.c                        | 125 +++-
 net/netfilter/nf_conntrack_bpf.c                   |   1 +
 net/xdp/xsk.c                                      |   1 +
 tools/include/uapi/linux/bpf.h                     |   9 +-
 tools/lib/bpf/Makefile                             |   4 +-
 tools/testing/selftests/bpf/.gitignore             |   2 +
 tools/testing/selftests/bpf/Makefile               |  33 +-
 .../selftests/bpf/bpf_testmod/bpf_testmod.c        |   9 +-
 .../selftests/bpf/generate_udp_fragments.py        |  90 +++
 .../testing/selftests/bpf/ip_check_defrag_frags.h  |  57 ++
 tools/testing/selftests/bpf/network_helpers.c      |  29 +-
 tools/testing/selftests/bpf/network_helpers.h      |   3 +
 .../selftests/bpf/prog_tests/assign_reuse.c        | 199 ++++++
 .../selftests/bpf/prog_tests/ip_check_defrag.c     | 283 ++++++++
 .../selftests/bpf/prog_tests/test_ldsx_insn.c      | 139 ++++
 tools/testing/selftests/bpf/prog_tests/verifier.c  |  10 +
 .../testing/selftests/bpf/prog_tests/xdp_attach.c  |  65 ++
 .../testing/selftests/bpf/progs/ip_check_defrag.c  | 104 +++
 .../selftests/bpf/progs/test_assign_reuse.c        | 142 ++++
 .../selftests/bpf/progs/test_cls_redirect.h        |   9 +
 tools/testing/selftests/bpf/progs/test_ldsx_insn.c | 118 ++++
 .../selftests/bpf/progs/test_xdp_attach_fail.c     |  54 ++
 tools/testing/selftests/bpf/progs/verifier_bswap.c |  59 ++
 tools/testing/selftests/bpf/progs/verifier_gotol.c |  44 ++
 tools/testing/selftests/bpf/progs/verifier_ldsx.c  | 131 ++++
 tools/testing/selftests/bpf/progs/verifier_movsx.c | 213 ++++++
 tools/testing/selftests/bpf/progs/verifier_sdiv.c  | 781 +++++++++++++++++++++
 tools/testing/selftests/bpf/verifier/basic_instr.c |   6 +-
 tools/testing/selftests/bpf/xskxceiver.c           |   2 +-
 84 files changed, 4026 insertions(+), 562 deletions(-)
 create mode 100644 include/net/netdev_rx_queue.h
 create mode 100755 tools/testing/selftests/bpf/generate_udp_fragments.py
 create mode 100644 tools/testing/selftests/bpf/ip_check_defrag_frags.h
 create mode 100644 tools/testing/selftests/bpf/prog_tests/assign_reuse.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/ip_check_defrag.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/test_ldsx_insn.c
 create mode 100644 tools/testing/selftests/bpf/progs/ip_check_defrag.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_assign_reuse.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_ldsx_insn.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_xdp_attach_fail.c
 create mode 100644 tools/testing/selftests/bpf/progs/verifier_bswap.c
 create mode 100644 tools/testing/selftests/bpf/progs/verifier_gotol.c
 create mode 100644 tools/testing/selftests/bpf/progs/verifier_ldsx.c
 create mode 100644 tools/testing/selftests/bpf/progs/verifier_movsx.c
 create mode 100644 tools/testing/selftests/bpf/progs/verifier_sdiv.c




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux