[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20250928154606.5773-1-alexei.starovoitov@gmail.com>
Date: Sun, 28 Sep 2025 16:46:06 +0100
From: Alexei Starovoitov <alexei.starovoitov@...il.com>
To: torvalds@...ux-foundation.org
Cc: bpf@...r.kernel.org,
daniel@...earbox.net,
andrii@...nel.org,
martin.lau@...nel.org,
peterz@...radead.org,
kuba@...nel.org,
linux-kernel@...r.kernel.org,
mingo@...nel.org,
jolsa@...nel.org,
netdev@...r.kernel.org
Subject: [GIT PULL] BPF changes for 6.18
Hi Linus,
The following changes since commit e59a039119c3ec241228adf12dca0dd4398104d0:
Merge tag 's390-6.17-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux (2025-09-11 08:46:30 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git tags/bpf-next-6.18
for you to fetch changes up to 4ef77dd584cfd915526328f516fec59e3a54d66e:
libbpf: Replace AF_ALG with open coded SHA-256 (2025-09-28 04:25:31 -0700)
----------------------------------------------------------------
Note, there is a trivial conflict between tip and bpf-next trees:
in kernel/events/uprobes.c between commit:
4363264111e12 ("uprobe: Do not emulate/sstep original instruction when ip is changed")
from the bpf-next tree and commit:
ba2bfc97b4629 ("uprobes/x86: Add support to optimize uprobes")
from the tip tree:
https://lore.kernel.org/all/aNVMR5rjA2geHNLn@sirena.org.uk/
since Jiri's two separate uprobe/bpf related patch series landed
in different trees. One was mostly uprobe. Another was mostly bpf.
Other than that the main changes are:
- Support pulling non-linear xdp data with bpf_xdp_pull_data() kfunc
(Amery Hung).
Applied as a stable branch in bpf-next and net-next trees.
- Support reading skb metadata via bpf_dynptr (Jakub Sitnicki).
Also a stable branch in bpf-next and net-next trees.
- Enforce expected_attach_type for tailcall compatibility
(Daniel Borkmann)
- Replace path-sensitive with path-insensitive live stack analysis
in the verifier (Eduard Zingerman).
This is a significant change in the verification logic. More details,
motivation, long term plans are in the cover letter/merge commit.
- Support signed BPF programs (KP Singh).
This is another major feature that took years to materialize.
Algorithm details are in the cover letter/marge commit.
- Add support for may_goto instruction to s390 JIT (Ilya Leoshkevich)
- Add support for may_goto instruction to arm64 JIT (Puranjay Mohan)
- Fix USDT SIB argument handling in libbpf (Jiawei Zhao)
- Allow uprobe-bpf program to change context registers (Jiri Olsa)
- Support signed loads from BPF arena (Kumar Kartikeya Dwivedi
and Puranjay Mohan)
- Allow access to union arguments in tracing programs (Leon Hwang)
- Optimize rcu_read_lock() + migrate_disable() combination
where it's used in BPF subsystem (Menglong Dong)
- Introduce bpf_task_work_schedule*() kfuncs to schedule
deferred execution of BPF callback in the context of
a specific task using the kernel’s task_work infrastructure
(Mykyta Yatsenko)
- Enforce RCU protection for KF_RCU_PROTECTED kfuncs
(Kumar Kartikeya Dwivedi)
- Add stress test for rqspinlock in NMI
(Kumar Kartikeya Dwivedi)
- Improve the precision of tnum multiplier verifier operation
(Nandakumar Edamana)
- Use tnums to improve is_branch_taken() logic (Paul Chaignon)
- Add support for atomic operations in arena in riscv JIT (Pu Lehui)
- Report arena faults to BPF error stream (Puranjay Mohan)
- Search for tracefs at /sys/kernel/tracing first in bpftool
(Quentin Monnet)
- Add bpf_strcasecmp() kfunc (Rong Tao)
- Support lookup_and_delete_elem command in BPF_MAP_STACK_TRACE
(Tao Chen)
Signed-off-by: Alexei Starovoitov <ast@...nel.org>
----------------------------------------------------------------
Alan Maguire (1):
selftests/bpf: More open-coded gettid syscall cleanup
Alexei Starovoitov (19):
Merge branch 'task-local-data'
Merge branch 'bpf-use-vrealloc-in-bpf_patch_insn_data'
Merge branch 'bpf-introduce-and-use-rcu_read_lock_dont_migrate'
Merge branch 's390-bpf-add-s390-jit-support-for-timed-may_goto'
Merge branch 'bpf-arm64-support-for-timed-may_goto'
Merge branch 'selftests-bpf-benchmark-all-symbols-for-kprobe-multi'
Merge branch 'selftests-bpf-introduce-experimental-bpf_in_interrupt'
Merge branch 'bpf-replace-wq-users-and-add-wq_percpu-to-alloc_workqueue-users'
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf after rc5
Merge branch 'bpf-report-arena-faults-to-bpf-streams'
Merge branch 'remove-use-of-current-cgns-in-bpf_cgroup_from_id'
Merge branch 'update-kf_rcu_protected'
Merge branch 'bpf-replace-path-sensitive-with-path-insensitive-live-stack-analysis'
Merge branch 'signed-bpf-programs'
Merge branch 'bpf-introduce-deferred-task-context-execution'
Merge branch 'signed-loads-from-arena'
Merge branch 'bpf-allow-union-argument-in-trampoline-based-programs'
Merge branch 'riscv-bpf-fix-uninitialized-symbol-retval_off'
Merge branch 'uprobe-bpf-allow-to-change-app-registers-from-uprobe-registers'
Amery Hung (19):
bpf: Allow syscall bpf programs to call non-recur helpers
selftests/bpf: Introduce task local data
selftests/bpf: Test basic task local data operations
selftests/bpf: Test concurrent task local data key creation
bpf: Allow struct_ops to get map id by kdata
selftests/bpf: Add multi_st_ops that supports multiple instances
selftests/bpf: Test multi_st_ops and calling kfuncs from different programs
selftests/bpf: Copy test_kmods when installing selftest
bpf: Clear pfmemalloc flag when freeing all fragments
bpf: Allow bpf_xdp_shrink_data to shrink a frag from head and tail
bpf: Support pulling non-linear xdp data
bpf: Clear packet pointers after changing packet data in kfuncs
bpf: Make variables in bpf_prog_test_run_xdp less confusing
bpf: Support specifying linear xdp packet data size for BPF_PROG_TEST_RUN
selftests/bpf: Test bpf_xdp_pull_data
selftests: drv-net: Pull data before parsing headers
bpf: Emit struct bpf_xdp_sock type in vmlinux BTF
selftests/bpf: Test changing packet data from global functions with a kfunc
selftests/bpf: Test changing packet data from kfunc
Andrea Righi (1):
bpf: Mark kfuncs as __noclone
Andrii Nakryiko (2):
Merge branch 'libbpf-fix-reuse-of-devmap'
Merge branch 'libbpf-fix-usdt-sib-argument-handling-causing-unrecognized-register-error'
Anton Protopopov (1):
bpf: Add a verbose message when the BTF limit is reached
Chenghao Duan (1):
riscv: bpf: Fix uninitialized symbol 'retval_off'
Cryolitia PukNgae (1):
libbpf: Add documentation to version and error API functions
D. Wythe (1):
libbpf: Fix error when st-prefix_ops and ops from differ btf
Daniel Borkmann (2):
bpf: Enforce expected_attach_type for tailcall compatibility
selftests/bpf: Add test case for different expected_attach_type
Eduard Zingerman (17):
bpf: removed unused 'env' parameter from is_reg64 and insn_has_def32
bpf: use realloc in bpf_patch_insn_data
bpf: potential double-free of env->insn_aux_data
bpf: dont report verifier bug for missing bpf_scc_visit on speculative path
selftests/bpf: trigger verifier.c:maybe_exit_scc() for a speculative state
bpf: bpf_verifier_state->cleaned flag instead of REG_LIVE_DONE
bpf: use compute_live_registers() info in clean_func_state
bpf: remove redundant REG_LIVE_READ check in stacksafe()
bpf: declare a few utility functions as internal api
bpf: compute instructions postorder per subprogram
bpf: callchain sensitive stack liveness tracking using CFG
bpf: enable callchain sensitive stack liveness tracking
bpf: signal error if old liveness is more conservative than new
bpf: disable and remove registers chain based liveness
bpf: table based bpf_insn_successors()
selftests/bpf: __not_msg() tag for test_loader framework
selftests/bpf: test cases for callchain sensitive live stack tracking
Eric Biggers (2):
bpf: Use sha1() instead of sha1_transform() in bpf_prog_calc_tag()
libbpf: Replace AF_ALG with open coded SHA-256
Feng Yang (2):
bpf: Replace kvfree with kfree for kzalloc memory
selftests/bpf: Fix the issue where the error code is 0
Fushuai Wang (1):
bpf: Replace get_next_cpu() with cpumask_next_wrap()
Hengqi Chen (5):
selftests/bpf: Use vmlinux.h for BPF programs
bpf, arm64: Remove duplicated bpf_flush_icache()
riscv, bpf: Remove duplicated bpf_flush_icache()
riscv, bpf: Sign extend struct ops return values properly
bpf, arm64: Call bpf_jit_binary_pack_finalize() in bpf_jit_free()
Ilya Leoshkevich (10):
s390/bpf: Do not write tail call counter into helper and kfunc frames
s390/bpf: Write back tail call counter for BPF_PSEUDO_CALL
s390/bpf: Write back tail call counter for BPF_TRAMP_F_CALL_ORIG
selftests/bpf: Clobber a lot of registers in tailcall_bpf2bpf_hierarchy tests
s390/bpf: Use direct calls and jumps where possible
s390/bpf: Add s390 JIT support for timed may_goto
selftests/bpf: Add a missing newline to the "bad arch spec" message
selftests/bpf: Add __arch_s390x macro
selftests/bpf: Enable timed may_goto verifier tests on s390x
selftests/bpf: Remove may_goto tests from DENYLIST.s390x
Jakub Sitnicki (10):
bpf: Add dynptr type for skb metadata
bpf: Enable read/write access to skb metadata through a dynptr
selftests/bpf: Cover verifier checks for skb_meta dynptr type
selftests/bpf: Pass just bpf_map to xdp_context_test helper
selftests/bpf: Parametrize test_xdp_context_tuntap
selftests/bpf: Cover read access to skb metadata via dynptr
selftests/bpf: Cover write access to skb metadata via dynptr
selftests/bpf: Cover read/write to skb metadata at an offset
selftests/bpf: Cover metadata access from a modified skb clone
bpf: Return an error pointer for skb metadata when CONFIG_NET=n
Jiapeng Chong (2):
bpf: Remove duplicate crypto/sha2.h header
bpftool: Remove duplicate string.h header
Jiawei Zhao (3):
libbpf: Fix USDT SIB argument handling causing unrecognized register error
selftests/bpf: Enrich subtest_basic_usdt case in selftests to cover SIB handling logic
libbpf: Remove unused args in parse_usdt_note
Jiayuan Chen (1):
selftests/bpf: Fix incorrect array size calculation
Jiri Olsa (6):
bpf: Allow uprobe program to change context registers
uprobe: Do not emulate/sstep original instruction when ip is changed
selftests/bpf: Add uprobe context registers changes test
selftests/bpf: Add uprobe context ip register change test
selftests/bpf: Add kprobe write ctx attach test
selftests/bpf: Add kprobe multi write ctx attach test
KP Singh (12):
bpf: Update the bpf_prog_calc_tag to use SHA256
bpf: Implement exclusive map creation
libbpf: Implement SHA256 internal helper
libbpf: Support exclusive map creation
selftests/bpf: Add tests for exclusive maps
bpf: Return hashes of maps in BPF_OBJ_GET_INFO_BY_FD
bpf: Move the signature kfuncs to helpers.c
bpf: Implement signature verification for BPF programs
libbpf: Update light skeleton for signing
libbpf: Embed and verify the metadata hash in the loader
bpftool: Add support for signing BPF programs
selftests/bpf: Enable signature verification for some lskel tests
Kumar Kartikeya Dwivedi (6):
bpf: Do not limit bpf_cgroup_from_id to current's namespace
selftests/bpf: Add a test for bpf_cgroup_from_id lookup in non-root cgns
bpf: Enforce RCU protection for KF_RCU_PROTECTED
selftests/bpf: Add tests for KF_RCU_PROTECTED
bpf, x86: Add support for signed arena loads
selftests/bpf: Add stress test for rqspinlock in NMI
Leon Hwang (5):
selftests/bpf: Introduce experimental bpf_in_interrupt()
selftests/bpf: Add case to test bpf_in_interrupt()
selftests/bpf: Skip timer_interrupt case when bpf_timer is not supported
bpf: Allow union argument in trampoline based programs
selftests/bpf: Add union argument tests using fexit programs
Li Jun (1):
bpf: Standardize function declaration style
Magnus Karlsson (1):
MAINTAINERS: Delete inactive maintainers from AF_XDP
Marco Crivellari (3):
bpf: replace use of system_wq with system_percpu_wq
bpf: replace use of system_unbound_wq with system_dfl_wq
bpf: WQ_PERCPU added to alloc_workqueue users
Martin KaFai Lau (7):
Merge branch 'allow-struct_ops-to-create-map-id-to'
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
Merge branch 'add-a-dynptr-type-for-skb-metadata-for-tc-bpf'
Merge branch 'bpf-next/skb-meta-dynptr' into 'bpf-next/master'
Merge branch 'bpf-next/skb-meta-dynptr' into 'bpf-next/master'
Merge branch 'add-kfunc-bpf_xdp_pull_data'
Merge branch 'bpf-next/xdp_pull_data' into 'bpf-next/master'
Matt Bobrowski (1):
bpf/selftests: Fix test_tcpnotify_user
Matt Fleming (1):
selftests/bpf: Add LPM trie microbenchmarks
Menglong Dong (10):
rcu: add rcu_read_lock_dont_migrate()
bpf: use rcu_read_lock_dont_migrate() for bpf_cgrp_storage_free()
bpf: use rcu_read_lock_dont_migrate() for bpf_inode_storage_free()
bpf: use rcu_read_lock_dont_migrate() for bpf_iter_run_prog()
bpf: use rcu_read_lock_dont_migrate() for bpf_task_storage_free()
bpf: use rcu_read_lock_dont_migrate() for bpf_prog_run_array_cg()
bpf: use rcu_read_lock_dont_migrate() for trampoline.c
selftests/bpf: move get_ksyms and get_addrs to trace_helpers.c
selftests/bpf: skip recursive functions for kprobe_multi
selftests/bpf: add benchmark testing for kprobe-multi-all
Mykyta Yatsenko (13):
libbpf: Export bpf_object__prepare symbol
selftests/bpf: Add BPF program dump in veristat
bpf: refactor special field-type detection
bpf: extract generic helper from process_timer_func()
bpf: htab: extract helper for freeing special structs
bpf: verifier: permit non-zero returns from async callbacks
bpf: bpf task work plumbing
bpf: extract map key pointer calculation
bpf: task work scheduling kfuncs
selftests/bpf: BPF task work scheduling tests
selftests/bpf: add bpf task work stress tests
selftests/bpf: Task_work selftest cleanup fixes
selftests/bpf: Fix flaky bpf_cookie selftest
Nandakumar Edamana (2):
bpf: Improve the general precision of tnum_mul
bpf: Add selftest to check the verifier's abstract multiplication
Paul Chaignon (6):
bpf: Tidy verifier bug message
bpf: Use tnums for JEQ/JNE is_branch_taken logic
selftests/bpf: Tests for is_scalar_branch_taken tnum logic
bpf: Explicitly check accesses to bpf_sock_addr
selftests/bpf: Move macros to bpf_misc.h
selftests/bpf: Test accesses to ctx padding
Pu Lehui (10):
riscv, bpf: Extract emit_stx() helper
riscv, bpf: Extract emit_st() helper
riscv, bpf: Extract emit_ldx() helper
riscv: Separate toolchain support dependency from RISCV_ISA_ZACAS
riscv, bpf: Add rv_ext_enabled macro for runtime detection extentsion
riscv, bpf: Add Zacas instructions
riscv, bpf: Optimize cmpxchg insn with Zacas support
riscv, bpf: Add ex_insn_off and ex_jmp_off for exception table handling
riscv, bpf: Add support arena atomics for RV64
selftests/bpf: Enable arena atomics tests for RV64
Puranjay Mohan (10):
bpf, arm64: Add JIT support for timed may_goto
selftests/bpf: Enable timed may_goto tests for arm64
bpf: arm64: simplify exception table handling
bpf: core: introduce main_prog_aux for stream access
bpf: Report arena faults to BPF stderr
selftests: bpf: introduce __stderr and __stdout
selftests: bpf: use __stderr in stream error tests
selftests/bpf: Add tests for arena fault reporting
bpf, arm64: Add support for signed arena loads
selftests: bpf: Add tests for signed loads from arena
Qianfeng Rong (2):
bpf: Remove redundant __GFP_NOWARN
bpf: Replace kvfree with kfree for kzalloc memory
Quentin Monnet (2):
bpftool: Search for tracefs at /sys/kernel/tracing first
bpftool: Add bash completion for program signing options
Ricardo B. Marlière (3):
selftests/bpf: Fix bpf_prog_detach2 usage in test_lirc_mode2
selftests/bpf: Upon failures, exit with code 1 in test_xsk.sh
selftests/bpf: Fix count write in testapp_xdp_metadata_copy()
Rong Tao (2):
bpf: add bpf_strcasecmp kfunc
selftests/bpf: Test kfunc bpf_strcasecmp
Saket Kumar Bhaskar (1):
selftests/bpf: Fix arena_spin_lock selftest failure
Shubham Sharma (1):
selftests/bpf: Fix typos and grammar in test sources
Tao Chen (10):
bpftool: Add bpf_token show
bpftool: Add bpftool-token manpage
bpftool: Add bash completion for token argument
bpf: Remove migrate_disable in kprobe_multi_link_prog_run
bpf: Remove preempt_disable in bpf_try_get_buffers
bpftool: Add HELP_SPEC_OPTIONS in token.c
bpftool: Fix UAF in get_delegate_value
bpf: Add lookup_and_delete_elem for BPF_MAP_STACK_TRACE
selftests/bpf: Refactor stacktrace_map case with skeleton
selftests/bpf: Add stacktrace map lookup_and_delete_elem test case
Thomas Weißschuh (1):
bpf: Don't use %pK through printk
Tiezhu Yang (1):
selftests/bpf: Remove entries from config.{arch} already present in config
Tom Stellard (1):
bpftool: Fix -Wuninitialized-const-pointer warnings with clang >= 21
Vincent Li (1):
bpftool: Add kernel.kptr_restrict hint for no instructions
Yonghong Song (1):
selftests/bpf: Fix selftest verifier_arena_large failure
Yuan Chen (2):
bpftool: Refactor kernel config reading into common helper
bpftool: Add CET-aware symbol matching for x86_64 architectures
Yureka Lilian (2):
libbpf: Fix reuse of DEVMAP
selftests/bpf: Add test for DEVMAP reuse
CREDITS | 6 +
Documentation/bpf/kfuncs.rst | 19 +-
Documentation/bpf/verifier.rst | 264 -------
MAINTAINERS | 2 -
arch/arm64/net/Makefile | 2 +-
arch/arm64/net/bpf_jit_comp.c | 127 ++-
arch/arm64/net/bpf_timed_may_goto.S | 40 +
arch/riscv/Kconfig | 1 -
arch/riscv/include/asm/cmpxchg.h | 6 +-
arch/riscv/kernel/setup.c | 1 +
arch/riscv/net/bpf_jit.h | 70 +-
arch/riscv/net/bpf_jit_comp64.c | 569 +++++---------
arch/s390/net/Makefile | 2 +-
arch/s390/net/bpf_jit_comp.c | 148 ++--
arch/s390/net/bpf_timed_may_goto.S | 45 ++
arch/x86/net/bpf_jit_comp.c | 125 ++-
crypto/asymmetric_keys/pkcs7_verify.c | 1 +
include/linux/bpf.h | 73 +-
include/linux/bpf_verifier.h | 65 +-
include/linux/btf.h | 2 +-
include/linux/cgroup.h | 1 +
include/linux/filter.h | 17 +-
include/linux/rcupdate.h | 14 +
include/linux/tnum.h | 6 +
include/linux/verification.h | 1 +
include/net/xdp.h | 5 +
include/net/xdp_sock_drv.h | 21 +-
include/uapi/linux/bpf.h | 22 +
kernel/bpf/Kconfig | 2 +-
kernel/bpf/Makefile | 2 +-
kernel/bpf/arena.c | 30 +
kernel/bpf/arraymap.c | 21 +-
kernel/bpf/bpf_cgrp_storage.c | 6 +-
kernel/bpf/bpf_inode_storage.c | 6 +-
kernel/bpf/bpf_iter.c | 6 +-
kernel/bpf/bpf_lru_list.c | 10 +-
kernel/bpf/bpf_struct_ops.c | 12 +
kernel/bpf/bpf_task_storage.c | 6 +-
kernel/bpf/btf.c | 99 ++-
kernel/bpf/cgroup.c | 11 +-
kernel/bpf/core.c | 60 +-
kernel/bpf/cpumap.c | 2 +-
kernel/bpf/devmap.c | 2 +-
kernel/bpf/hashtab.c | 43 +-
kernel/bpf/helpers.c | 612 ++++++++++++++-
kernel/bpf/liveness.c | 733 +++++++++++++++++
kernel/bpf/local_storage.c | 2 +-
kernel/bpf/log.c | 30 +-
kernel/bpf/memalloc.c | 2 +-
kernel/bpf/stackmap.c | 16 +-
kernel/bpf/syscall.c | 125 ++-
kernel/bpf/tnum.c | 63 +-
kernel/bpf/trampoline.c | 18 +-
kernel/bpf/verifier.c | 869 ++++++++++-----------
kernel/cgroup/cgroup.c | 24 +-
kernel/events/core.c | 4 +
kernel/events/uprobes.c | 7 +
kernel/trace/bpf_trace.c | 201 +----
net/bpf/test_run.c | 59 +-
net/core/filter.c | 210 ++++-
tools/bpf/bpftool/Documentation/bpftool-gen.rst | 13 +-
tools/bpf/bpftool/Documentation/bpftool-prog.rst | 14 +-
tools/bpf/bpftool/Documentation/bpftool-token.rst | 64 ++
tools/bpf/bpftool/Makefile | 6 +-
tools/bpf/bpftool/bash-completion/bpftool | 37 +-
tools/bpf/bpftool/btf_dumper.c | 2 +-
tools/bpf/bpftool/cgroup.c | 4 +
tools/bpf/bpftool/common.c | 93 +++
tools/bpf/bpftool/feature.c | 86 +-
tools/bpf/bpftool/gen.c | 68 +-
tools/bpf/bpftool/link.c | 54 +-
tools/bpf/bpftool/main.c | 29 +-
tools/bpf/bpftool/main.h | 21 +
tools/bpf/bpftool/prog.c | 33 +-
tools/bpf/bpftool/sign.c | 211 +++++
tools/bpf/bpftool/token.c | 210 +++++
tools/bpf/bpftool/tracelog.c | 11 +-
tools/include/uapi/linux/bpf.h | 22 +
tools/lib/bpf/bpf.c | 6 +-
tools/lib/bpf/bpf.h | 5 +-
tools/lib/bpf/bpf_gen_internal.h | 2 +
tools/lib/bpf/gen_loader.c | 47 ++
tools/lib/bpf/libbpf.c | 213 ++++-
tools/lib/bpf/libbpf.h | 52 +-
tools/lib/bpf/libbpf.map | 3 +
tools/lib/bpf/libbpf_internal.h | 4 +
tools/lib/bpf/skel_internal.h | 76 +-
tools/lib/bpf/usdt.bpf.h | 44 +-
tools/lib/bpf/usdt.c | 72 +-
tools/testing/selftests/bpf/.gitignore | 1 +
tools/testing/selftests/bpf/DENYLIST.s390x | 1 -
tools/testing/selftests/bpf/Makefile | 43 +-
tools/testing/selftests/bpf/bench.c | 22 +-
tools/testing/selftests/bpf/bench.h | 1 +
.../selftests/bpf/benchs/bench_lpm_trie_map.c | 555 +++++++++++++
tools/testing/selftests/bpf/benchs/bench_sockmap.c | 5 +-
tools/testing/selftests/bpf/benchs/bench_trigger.c | 61 ++
.../selftests/bpf/benchs/run_bench_trigger.sh | 4 +-
tools/testing/selftests/bpf/bpf_experimental.h | 54 ++
tools/testing/selftests/bpf/bpf_kfuncs.h | 3 +
tools/testing/selftests/bpf/bpf_util.h | 3 +
tools/testing/selftests/bpf/cgroup_helpers.c | 20 +
tools/testing/selftests/bpf/cgroup_helpers.h | 1 +
tools/testing/selftests/bpf/config | 1 +
tools/testing/selftests/bpf/config.aarch64 | 12 -
tools/testing/selftests/bpf/config.ppc64el | 1 -
tools/testing/selftests/bpf/config.riscv64 | 1 -
tools/testing/selftests/bpf/config.s390x | 11 -
tools/testing/selftests/bpf/config.x86_64 | 5 -
tools/testing/selftests/bpf/network_helpers.c | 2 +-
tools/testing/selftests/bpf/prog_tests/align.c | 178 ++---
.../selftests/bpf/prog_tests/arena_spin_lock.c | 13 +
tools/testing/selftests/bpf/prog_tests/atomics.c | 10 +-
.../selftests/bpf/prog_tests/attach_probe.c | 28 +
.../testing/selftests/bpf/prog_tests/bpf_cookie.c | 3 +-
tools/testing/selftests/bpf/prog_tests/btf_dump.c | 2 +-
.../selftests/bpf/prog_tests/cgroup_xattr.c | 2 +-
.../testing/selftests/bpf/prog_tests/cgrp_kfunc.c | 71 ++
tools/testing/selftests/bpf/prog_tests/dynptr.c | 2 +
tools/testing/selftests/bpf/prog_tests/fd_array.c | 2 +-
.../selftests/bpf/prog_tests/fentry_fexit.c | 15 +-
.../testing/selftests/bpf/prog_tests/fentry_test.c | 9 +-
.../testing/selftests/bpf/prog_tests/fexit_test.c | 9 +-
.../testing/selftests/bpf/prog_tests/kernel_flag.c | 2 +-
.../selftests/bpf/prog_tests/kprobe_multi_test.c | 247 +-----
tools/testing/selftests/bpf/prog_tests/map_excl.c | 54 ++
.../selftests/bpf/prog_tests/module_attach.c | 2 +-
.../bpf/prog_tests/pinning_devmap_reuse.c | 50 ++
.../bpf/prog_tests/prog_tests_framework.c | 125 +++
.../testing/selftests/bpf/prog_tests/reg_bounds.c | 4 +-
.../selftests/bpf/prog_tests/res_spin_lock.c | 16 +
tools/testing/selftests/bpf/prog_tests/spin_lock.c | 12 +-
.../selftests/bpf/prog_tests/stacktrace_build_id.c | 2 +-
.../bpf/prog_tests/stacktrace_build_id_nmi.c | 2 +-
.../selftests/bpf/prog_tests/stacktrace_map.c | 71 +-
.../bpf/prog_tests/stacktrace_map_raw_tp.c | 4 +-
.../selftests/bpf/prog_tests/stacktrace_map_skip.c | 2 +-
tools/testing/selftests/bpf/prog_tests/stream.c | 131 ++--
.../selftests/bpf/prog_tests/string_kfuncs.c | 1 +
.../selftests/bpf/prog_tests/task_local_data.h | 386 +++++++++
.../selftests/bpf/prog_tests/task_work_stress.c | 130 +++
.../prog_tests/test_struct_ops_id_ops_mapping.c | 74 ++
.../bpf/prog_tests/test_task_local_data.c | 297 +++++++
.../selftests/bpf/prog_tests/test_task_work.c | 157 ++++
.../selftests/bpf/prog_tests/test_veristat.c | 44 +-
tools/testing/selftests/bpf/prog_tests/timer.c | 34 +
.../selftests/bpf/prog_tests/tracing_struct.c | 29 +
tools/testing/selftests/bpf/prog_tests/uprobe.c | 156 +++-
tools/testing/selftests/bpf/prog_tests/usdt.c | 83 +-
tools/testing/selftests/bpf/prog_tests/verifier.c | 4 +
.../bpf/prog_tests/xdp_context_test_run.c | 222 +++++-
.../selftests/bpf/prog_tests/xdp_devmap_attach.c | 31 +-
.../selftests/bpf/prog_tests/xdp_pull_data.c | 179 +++++
tools/testing/selftests/bpf/progs/arena_atomics.c | 9 +-
.../testing/selftests/bpf/progs/arena_spin_lock.c | 5 +-
tools/testing/selftests/bpf/progs/bpf_cc_cubic.c | 2 +-
tools/testing/selftests/bpf/progs/bpf_dctcp.c | 2 +-
tools/testing/selftests/bpf/progs/bpf_misc.h | 24 +
tools/testing/selftests/bpf/progs/bpf_test_utils.h | 18 +
.../selftests/bpf/progs/cgroup_read_xattr.c | 2 +-
.../selftests/bpf/progs/cgrp_kfunc_success.c | 12 +
tools/testing/selftests/bpf/progs/dynptr_fail.c | 258 ++++++
tools/testing/selftests/bpf/progs/dynptr_success.c | 55 ++
.../selftests/bpf/progs/exceptions_assert.c | 34 +-
.../selftests/bpf/progs/freplace_connect_v4_prog.c | 2 +-
.../selftests/bpf/progs/iters_state_safety.c | 6 +-
.../selftests/bpf/progs/iters_task_failure.c | 4 +-
tools/testing/selftests/bpf/progs/iters_testmod.c | 46 ++
.../selftests/bpf/progs/iters_testmod_seq.c | 6 +-
.../testing/selftests/bpf/progs/kprobe_write_ctx.c | 22 +
tools/testing/selftests/bpf/progs/loop1.c | 7 +-
tools/testing/selftests/bpf/progs/loop2.c | 7 +-
tools/testing/selftests/bpf/progs/loop3.c | 7 +-
tools/testing/selftests/bpf/progs/loop6.c | 21 +-
tools/testing/selftests/bpf/progs/lpm_trie.h | 30 +
tools/testing/selftests/bpf/progs/lpm_trie_bench.c | 230 ++++++
tools/testing/selftests/bpf/progs/lpm_trie_map.c | 19 +
tools/testing/selftests/bpf/progs/map_excl.c | 34 +
.../selftests/bpf/progs/mem_rdonly_untrusted.c | 4 +-
tools/testing/selftests/bpf/progs/rbtree_search.c | 2 +-
.../{test_stacktrace_map.c => stacktrace_map.c} | 2 +
tools/testing/selftests/bpf/progs/stream.c | 158 ++++
.../selftests/bpf/progs/string_kfuncs_failure1.c | 6 +
.../selftests/bpf/progs/string_kfuncs_failure2.c | 1 +
.../selftests/bpf/progs/string_kfuncs_success.c | 5 +
.../bpf/progs/struct_ops_id_ops_mapping1.c | 59 ++
.../bpf/progs/struct_ops_id_ops_mapping2.c | 59 ++
.../selftests/bpf/progs/struct_ops_kptr_return.c | 2 +-
.../selftests/bpf/progs/struct_ops_refcounted.c | 2 +-
.../bpf/progs/tailcall_bpf2bpf_hierarchy1.c | 3 +
.../bpf/progs/tailcall_bpf2bpf_hierarchy2.c | 3 +
.../bpf/progs/tailcall_bpf2bpf_hierarchy3.c | 3 +
.../bpf/progs/tailcall_bpf2bpf_hierarchy_fentry.c | 3 +
.../selftests/bpf/progs/task_local_data.bpf.h | 237 ++++++
tools/testing/selftests/bpf/progs/task_work.c | 107 +++
tools/testing/selftests/bpf/progs/task_work_fail.c | 96 +++
.../testing/selftests/bpf/progs/task_work_stress.c | 73 ++
.../selftests/bpf/progs/test_cls_redirect.c | 6 +-
.../selftests/bpf/progs/test_cls_redirect_dynptr.c | 2 +-
tools/testing/selftests/bpf/progs/test_overhead.c | 5 +-
.../selftests/bpf/progs/test_pinning_devmap.c | 20 +
.../selftests/bpf/progs/test_task_local_data.c | 65 ++
.../selftests/bpf/progs/test_tcp_hdr_options.c | 5 +-
.../selftests/bpf/progs/test_tcpnotify_kern.c | 1 -
tools/testing/selftests/bpf/progs/test_uprobe.c | 38 +
tools/testing/selftests/bpf/progs/test_usdt.c | 31 +
.../selftests/bpf/progs/test_xdp_devmap_tailcall.c | 29 +
tools/testing/selftests/bpf/progs/test_xdp_meta.c | 419 ++++++++++
.../selftests/bpf/progs/test_xdp_pull_data.c | 48 ++
.../testing/selftests/bpf/progs/timer_interrupt.c | 48 ++
tools/testing/selftests/bpf/progs/tracing_struct.c | 33 +
tools/testing/selftests/bpf/progs/trigger_bench.c | 12 +
.../testing/selftests/bpf/progs/uretprobe_stack.c | 4 +-
.../selftests/bpf/progs/verifier_arena_large.c | 1 +
.../testing/selftests/bpf/progs/verifier_bounds.c | 79 +-
.../selftests/bpf/progs/verifier_bpf_fastcall.c | 27 +-
tools/testing/selftests/bpf/progs/verifier_ctx.c | 32 +-
.../selftests/bpf/progs/verifier_global_ptr_args.c | 4 +-
tools/testing/selftests/bpf/progs/verifier_ldsx.c | 178 ++++-
.../selftests/bpf/progs/verifier_live_stack.c | 294 +++++++
.../testing/selftests/bpf/progs/verifier_loops1.c | 21 +
.../testing/selftests/bpf/progs/verifier_map_ptr.c | 7 +-
.../selftests/bpf/progs/verifier_may_goto_1.c | 38 +-
tools/testing/selftests/bpf/progs/verifier_mul.c | 38 +
.../selftests/bpf/progs/verifier_precision.c | 16 +-
.../selftests/bpf/progs/verifier_scalar_ids.c | 12 +-
tools/testing/selftests/bpf/progs/verifier_sock.c | 48 +-
.../selftests/bpf/progs/verifier_spill_fill.c | 40 +-
.../bpf/progs/verifier_subprog_precision.c | 6 +-
.../testing/selftests/bpf/progs/verifier_var_off.c | 6 +-
tools/testing/selftests/bpf/test_kmods/Makefile | 2 +-
.../selftests/bpf/test_kmods/bpf_test_rqspinlock.c | 209 +++++
.../testing/selftests/bpf/test_kmods/bpf_testmod.c | 155 ++++
.../testing/selftests/bpf/test_kmods/bpf_testmod.h | 6 +
.../selftests/bpf/test_kmods/bpf_testmod_kfunc.h | 4 +
tools/testing/selftests/bpf/test_lirc_mode2_user.c | 2 +-
tools/testing/selftests/bpf/test_loader.c | 300 +++++--
tools/testing/selftests/bpf/test_progs.c | 13 +
tools/testing/selftests/bpf/test_progs.h | 17 +
tools/testing/selftests/bpf/test_sockmap.c | 2 +-
tools/testing/selftests/bpf/test_tcpnotify_user.c | 20 +-
tools/testing/selftests/bpf/test_xsk.sh | 2 +
tools/testing/selftests/bpf/testing_helpers.c | 14 +-
tools/testing/selftests/bpf/testing_helpers.h | 1 +
tools/testing/selftests/bpf/trace_helpers.c | 234 ++++++
tools/testing/selftests/bpf/trace_helpers.h | 3 +
tools/testing/selftests/bpf/verifier/bpf_st_mem.c | 4 +-
tools/testing/selftests/bpf/verifier/calls.c | 8 +-
tools/testing/selftests/bpf/verify_sig_setup.sh | 11 +-
tools/testing/selftests/bpf/veristat.c | 56 +-
tools/testing/selftests/bpf/xdping.c | 2 +-
tools/testing/selftests/bpf/xsk.h | 4 +-
tools/testing/selftests/bpf/xskxceiver.c | 14 +-
tools/testing/selftests/net/lib/xdp_native.bpf.c | 89 ++-
254 files changed, 11830 insertions(+), 2794 deletions(-)
create mode 100644 arch/arm64/net/bpf_timed_may_goto.S
create mode 100644 arch/s390/net/bpf_timed_may_goto.S
create mode 100644 kernel/bpf/liveness.c
create mode 100644 tools/bpf/bpftool/Documentation/bpftool-token.rst
create mode 100644 tools/bpf/bpftool/sign.c
create mode 100644 tools/bpf/bpftool/token.c
create mode 100644 tools/testing/selftests/bpf/benchs/bench_lpm_trie_map.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/map_excl.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/pinning_devmap_reuse.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/task_local_data.h
create mode 100644 tools/testing/selftests/bpf/prog_tests/task_work_stress.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/test_struct_ops_id_ops_mapping.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/test_task_local_data.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/test_task_work.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/xdp_pull_data.c
create mode 100644 tools/testing/selftests/bpf/progs/bpf_test_utils.h
create mode 100644 tools/testing/selftests/bpf/progs/kprobe_write_ctx.c
create mode 100644 tools/testing/selftests/bpf/progs/lpm_trie.h
create mode 100644 tools/testing/selftests/bpf/progs/lpm_trie_bench.c
create mode 100644 tools/testing/selftests/bpf/progs/lpm_trie_map.c
create mode 100644 tools/testing/selftests/bpf/progs/map_excl.c
rename tools/testing/selftests/bpf/progs/{test_stacktrace_map.c => stacktrace_map.c} (98%)
create mode 100644 tools/testing/selftests/bpf/progs/struct_ops_id_ops_mapping1.c
create mode 100644 tools/testing/selftests/bpf/progs/struct_ops_id_ops_mapping2.c
create mode 100644 tools/testing/selftests/bpf/progs/task_local_data.bpf.h
create mode 100644 tools/testing/selftests/bpf/progs/task_work.c
create mode 100644 tools/testing/selftests/bpf/progs/task_work_fail.c
create mode 100644 tools/testing/selftests/bpf/progs/task_work_stress.c
create mode 100644 tools/testing/selftests/bpf/progs/test_pinning_devmap.c
create mode 100644 tools/testing/selftests/bpf/progs/test_task_local_data.c
create mode 100644 tools/testing/selftests/bpf/progs/test_xdp_devmap_tailcall.c
create mode 100644 tools/testing/selftests/bpf/progs/test_xdp_pull_data.c
create mode 100644 tools/testing/selftests/bpf/progs/timer_interrupt.c
create mode 100644 tools/testing/selftests/bpf/progs/verifier_live_stack.c
create mode 100644 tools/testing/selftests/bpf/progs/verifier_mul.c
create mode 100644 tools/testing/selftests/bpf/test_kmods/bpf_test_rqspinlock.c
Powered by blists - more mailing lists