This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository linux.
from 7f2ff7b62617 Merge tag 'mailbox-v6.15' of git://git.kernel.org/pub/scm/ [...] new a63a631c9b5c selftests/bpf: Fix freplace_link segfault in tailcalls prog test new 0a7c2a843596 libbpf: Fix accessing BTF.ext core_relo header new cb3ade567816 selftests/bpf: Fix runqslower cross-endian build new 0053f7d39d49 bpftool: Fix readlink usage in get_fd_type new 12fdd29d5d71 bpf: Use kallsyms to find the function name of a struct_op [...] new 723f1b9ce332 selftests/bpf: helpers: Add append_tid() new 6d34f5b728eb selftests/bpf: test_xdp_veth: Remove unused defines new 0f5bab8dffc4 selftests/bpf: test_xdp_veth: Remove unecessarry check_ping() new 71e0b1cc7241 selftests/bpf: test_xdp_veth: Use int to describe next veth new 3c32cbbbcda3 selftests/bpf: test_xdp_veth: Split network configuration new 7e9f3c875d1c selftests/bpf: test_xdp_veth: Rename config[] new edb996fae276 selftests/bpf: test_xdp_veth: Add prog_config[] table new 450effe2daff selftests/bpf: test_xdp_veth: Add XDP flags to prog_configuration new 29c7bb7d0fa7 selftests/bpf: test_xdp_veth: Use unique names new 0c4ea7e3479c selftests/bpf: test_xdp_veth: Add new test cases for XDP flags new 03f3aa4a6b66 Merge branch 'selftests-bpf-migrate-test_xdp_redirect_mult [...] new 51d1b1d42841 libbpf: Introduce kflag for type_tags and decl_tags in BTF new ea70faa1f244 docs/bpf: Document the semantics of BTF tags with kind_flag new 2019c58318b8 libbpf: Check the kflag of type tags in btf_dump new 6c2d2a05a762 selftests/bpf: Add a btf_dump test for type_tags new 53ee0d66d7a6 bpf: Allow kind_flag for BTF type and decl tags new 770cdcf4a59e selftests/bpf: Add a BTF verification test for kflagged type_tag new 12befebe023e Merge branch 'btf-arbitrary-__attribute__-encoding' new 2a9d30fac818 selftests/bpf: Support dynamically linking LLVM if static [...] new 94f53edc64e1 samples/bpf: Fix broken vmlinux path for VMLINUX_BTF new 0abff462d802 bpf: Add comment about helper freeze new 003be25ab99c selftests/bpf: Correct the check of join cgroup new ea145d530a2d bpf: define KF_ARENA_* flags for bpf_arena kfuncs new 9b6cdaf2ac85 selftests/bpf: Remove with_addr.sh and with_tunnels.sh new 17c3dc50294b bpftool: Using the right format specifiers new 650f20bbd9d1 selftests/bpf: Define SYS_PREFIX for powerpc new 4107a1aeb20e selftests/bpf: Select NUMA_NO_NODE to create map new f18169c89ea7 bpf: Sync uapi bpf.h header for the tooling infra new c83e2d970bae bpf: Add tracepoints with null-able arguments new b99f27e90268 selftests/bpf: Fix stdout race condition in traffic monitor new 531118f1ccfc fs/xattr: bpf: Introduce security.bpf. xattr name prefix new ab39ad6796e5 selftests/bpf: Extend test fs_kfuncs to cover security.bpf [...] new 7587d735b150 bpf: lsm: Add two more sleepable hooks new 56467292794b bpf: fs/xattr: Add BPF kfuncs to set and remove xattrs new 60c2e1fa9168 selftests/bpf: Test kfuncs that set and remove xattr from [...] new 68a41544909e Merge branch 'enable-writing-xattr-from-bpf-programs' new a4585442ade5 bpftool: Check map name length when map create new 6ebc5030e0c5 bpf: Fix array bounds error with may_goto new b38c72ab808c selftests/bpf: Introduce __load_if_JITed annotation for tests new 72266ee83fed selftests/bpf: Add selftest for may_goto new 772b9b11e6e0 Merge branch 'bpf-fix-array-bounds-error-with-may_goto-and [...] new 06096d19ee38 libbpf: fix LDX/STX/ST CO-RE relocation size adjustment logic new 4eb93fea5919 selftests/bpf: add test for LDX/STX/ST relocations over ar [...] new 432051806f61 bpf: Make every prog keep a copy of ctx_arg_info new a687df2008f6 bpf: Support getting referenced kptr from struct_ops argument new 6991ec6beb26 selftests/bpf: Test referenced kptr arguments of struct_op [...] new 8d9f547f74c7 bpf: Allow struct_ops prog to return referenced kptr new af17bad9fb2a selftests/bpf: Test returning referenced kptr from struct_ [...] new 50b77eb514d4 Merge branch 'extend-struct_ops-support-for-operators' new 6bdac0e317e9 selftests/bpf: test_xdp_veth: Create struct net_configuration new 19a9484c1bbc selftests/bpf: test_xdp_veth: Use a dedicated namespace new 09c8bb1fae15 selftests/bpf: Optionally select broadcasting flags new 1e7e6345429c selftests/bpf: test_xdp_veth: Add XDP broadcast redirection tests new a93bfd824d95 selftests/bpf: test_xdp_veth: Add XDP program on egress test new e06f5bfd937d selftests/bpf: Remove test_xdp_redirect_multi.sh new 0fc6025c95c8 Merge branch 'selftests-bpf-migrate-test_xdp_redirect_mult [...] new bbbc02b7445e bpf: copy_verifier_state() should copy 'loop_entry' field new 6da35da1a36c selftests/bpf: test correct loop_entry update in copy_veri [...] new 9e63fdb0cbdf bpf: don't do clean_live_states when state->loop_entry->br [...] new 6361cd26e402 selftests/bpf: check states pruning for deeply nested iterator new c1ce66357f8f bpf: detect infinite loop in get_loop_entry() new bb7abf304902 bpf: make state->dfs_depth < state->loop_entry->dfs_depth [...] new 590eee426836 bpf: do not update state->loop_entry in get_loop_entry() new 5564ee3abb2e bpf: use list_head to track explored states and free list new 408fcf946b2b bpf: free verifier states when they are no longer referenced new 574078b001cd bpf: fix env->peak_states computation new 654765b5c6d6 Merge branch 'bpf-copy_verifier_state-should-copy-loop_ent [...] new 4a06c5251ae3 selftests/bpf: ns_current_pid_tgid: Rename the test function new c047e0e0e435 selftests/bpf: Optionally open a dedicated namespace to ru [...] new 207cd7578ad1 selftests/bpf: tc_links/tc_opts: Unserialize tests new 157feaaf18ce selftests/bpf: ns_current_pid_tgid: Use test_progs's ns_ feature new d0da259de581 Merge branch 'selftests-bpf-tc_links-tc_opts-unserialize-tests' new e8af068239ca libbpf: Wrap libbpf API direct err with libbpf_err new ac13c5087299 selftests/bpf: Enable kprobe_multi tests for ARM64 new f0b79944e6f4 mm: Add copy_remote_vm_str() for readng C strings from remote VM new f0f8a5b58f78 bpf: Add bpf_copy_from_user_task_str() kfunc new 7042882abc04 selftests/bpf: Add tests for bpf_copy_from_user_task_str new bd4319b6c2b3 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bp [...] new b4a8b5bba712 bpf: Use preempt_count() directly in bpf_send_signal_common() new e0525cd72b59 libbpf: Fix hypothetical STT_SECTION extern NULL deref case new 38f1e66abd18 bpf: Do not allow tail call in strcut_ops program with __r [...] new 63817c771194 selftests/bpf: Test struct_ops program with __ref arg call [...] new 201b62ccc831 bpf: Refactor check_ctx_access() new 239860828f86 bpf: arm64: Silence "UBSAN: negation-overflow" warning new 11ba7ce076e5 bpf: Fix kmemleak warning for percpu hashmap new 236d3910117e libbpf: Fix out-of-bound read new 1ffe30efd2f2 kbuild, bpf: Correct pahole version that supports distille [...] new f3c2d243a36e bpf: abort verification if env->cur_state->loop_entry != NULL new d519594ee244 bpf: Search and add kfuncs in struct_ops prologue and epilogue new 4e4136c64467 selftests/bpf: Test gen_pro/epilogue that generate kfuncs new c221d3744ad3 bpf: add get_netns_cookie helper to cgroup_skb programs new 9138048bb589 selftests/bpf: add cgroup_skb netns cookie tests new b123480eec64 docs/bpf: Document some special sdiv/smod operations new 4580f4e0ebdf bpf: Fix deadlock between rcu_tasks_trace and event_mutex. new b62dff14402a libbpf: Implement bpf_usdt_arg_size BPF function new 0ba0ef012eba selftests/bpf: Test bpf_usdt_arg_size() function new e3c9abd0d14b selftests/bpf: Implement setting global variables in veristat new 3d1033caf056 selftests/bpf: Introduce veristat test new b0f2ee6077ef Merge branch 'selftests-bpf-implement-setting-global-varia [...] new 09206af69c52 bpf/helpers: Refactor bpf_dynptr_read and bpf_dynptr_write new daec295a7094 bpf/helpers: Introduce bpf_dynptr_copy kfunc new 064e9aacfd70 selftests/bpf: Add tests for bpf_dynptr_copy new ee2fdd020fb1 Merge branch 'introduce-bpf_dynptr_copy-kfunc' new acf0d6f68164 selftests/bpf: Allow auto port binding for cgroup connect new 93a279b65a93 selftests/bpf: Allow auto port binding for bpf nf new 7f260af1f29e selftests/bpf: Fixes for test_maps test new 7c2f207a524e Merge branch 'optimize-bpf-selftest-to-increase-ci-success-rate' new 4b82b181a26c bpf: Allow pre-ordering for bpf cgroup progs new 2222aa1c8997 selftests/bpf: Add selftests allowing cgroup prog pre-ordering new 93cf4e537ed0 bpf/selftests: test_select_reuseport_kern: Remove unused header new e2d8f560d178 bpf: Summarize sleepable global subprogs new b2bb70343477 selftests/bpf: Test sleepable global subprogs in atomic contexts new 72ed076abf54 selftests/bpf: Add tests for extending sleepable global subprogs new dd4d3ef3c502 Merge branch 'global-subprogs-in-rcu-preempt-irq-disabled- [...] new f8ac5a4e1a97 bpf: no longer acquire map_idr_lock in bpf_map_inc_not_zero() new 66faaea94e1a bpf: Factor out atomic_ptr_type_ok() new 2626ffe9f33f bpf: Factor out check_atomic_rmw() new a752ba433278 bpf: Factor out check_load_mem() and check_store_reg() new c0d078da7a6c veristat: @files-list.txt notation for object files list new 2d95b3f582ea veristat: Strerror expects positive number (errno) new 346e4ca4628c veristat: Report program type guess results to sdterr new 191598fc4dad Merge branch 'veristat-files-list-txt-notation-for-object- [...] new 5d6aa606c157 selftests/bpf: test_tunnel: Add generic_attach* helpers new fcb39996a242 selftests/bpf: test_tunnel: Add ping helpers new 257dfd1c6be5 selftests/bpf: test_tunnel: Move gre tunnel test to test_progs new 856818b28f14 selftests/bpf: test_tunnel: Move ip6gre tunnel test to test_progs new cadb08a4d3ad selftests/bpf: test_tunnel: Move erspan tunnel tests to te [...] new ea60b6a524f1 selftests/bpf: test_tunnel: Move ip6erspan tunnel test to [...] new bd477738e659 selftests/bpf: test_tunnel: Move geneve tunnel test to test_progs new 260f2da62d8f selftests/bpf: test_tunnel: Move ip6geneve tunnel test to [...] new 05cd60ab5713 selftests/bpf: test_tunnel: Move ip6tnl tunnel tests to te [...] new a54e7006967f selftests/bpf: test_tunnel: Remove test_tunnel.sh new 282f09227112 Merge branch 'selftests-bpf-migrate-test_tunnel-sh-to-test_progs' new 19856a524729 net: filter: Avoid shadowing variable in bpf_convert_ctx_access() new 6ef78c41911d libbpf: Use map_is_created helper in map setters new 9a9e347835d0 libbpf: Introduce more granular state for bpf_object new 1315c28ed809 libbpf: Split bpf object load into prepare/load new 6419d08b6c99 selftests/bpf: Add tests for bpf_object__prepare new 2941e2153763 Merge branch 'introduce-bpf_object__prepare' new e723608bf428 bpf: Add verifier support for timed may_goto new 2fb761823ead bpf, x86: Add x86 JIT support for timed may_goto new 3a6fa573c50f Merge branch 'timed-may_goto' new 880442305a39 bpf: Introduce load-acquire and store-release instructions new ab327cc841cb arm64: insn: Add BIT(23) to {load,store}_ex's mask new 956856dd118b arm64: insn: Add load-acquire and store-release instructions new 9bb12368d539 bpf, arm64: Support load-acquire and store-release instructions new 5341c9a4d833 bpf, x86: Support load-acquire and store-release instructions new ff3afe5da998 selftests/bpf: Add selftests for load-acquire and store-re [...] new 5bde57501356 Merge branch 'introduce-load-acquire-and-store-release-bpf [...] new 80ca3f1d77bb bpf: jmp_offset() and verbose_insn() utility functions new 22f8397495ea bpf: get_call_summary() utility function new 14c8552db644 bpf: simple DFA-based live registers analysis new 0fb3cf6110a5 bpf: use register liveness information for func_states_equal new 2ea8f6a1cda7 selftests/bpf: test cases for compute_live_registers() new c1d95a0f2d0f Merge branch 'bpf-simple-dfa-based-live-registers-analysis' new 871ef8d50e7c bpf: correct use/def for may_goto instruction new dc438a9bc761 bpf, docs: Fix broken link to renamed bpf_iter_task_vmas.c new 4b7ede0be374 selftests/bpf: Introduce cond_break_label new 88d706ba7cc5 selftests/bpf: Introduce arena spin lock new 2dfc8186d68b selftests/bpf: Add tests for arena spin lock new 8a6d047c8d19 Merge branch 'arena-spin-lock' new f5e288943e2c selftests/bpf: Move test_lwt_ip_encap to test_progs new aeb5bbb02538 selftests/bpf: Clean up call sites of stdio_restore() new 34a25aabcdea selftests/bpf: Allow assigning traffic monitor print function new 8bda5b787dea selftests/bpf: Fix dangling stdout seen by traffic monitor thread new 339c1f8ea11c selftests/bpf: Fix cap_enable_effective() return code new b1d85ff517ef selftests/bpf: lwt_seg6local: Remove unused routes new 1041b8bc9f9c selftests/bpf: lwt_seg6local: Move test to test_progs new 103b9ab96a77 Merge branch 'selftests-bpf-move-test_lwt_seg6local-to-tes [...] new 950ad93df2fc bpf: add kfunc for populating cpumask bits new 918ba2636d4e selftests: bpf: add bpf_cpumask_populate selftests new 014eb5c2d635 bpf: fix missing kdoc string fields in cpumask.c new c06707ff0768 selftests: bpf: fix duplicate selftests in cpumask_success. new 488a8544f839 Merge branch 'bpf-introduce-helper-for-populating-bpf_cpumask' new caa4237a790a selftests/bpf: Fix selection of static vs. dynamic LLVM new a03d375330de selftests/bpf: Convert comma to semicolon new 082f1db02c80 security: Propagate caller information in bpf hooks new 7987f1627e61 selftests/bpf: Add a kernel flag test for LSM bpf hook new a9041fbd90a6 Merge branch 'security-propagate-caller-information-in-bpf-hooks' new 02a4694107b4 bpf: bpftool: Setting error code in do_loader() new 38c6104e0bc7 bpf: preload: Add MODULE_DESCRIPTION new 1f375aef6cc0 selftests/bpf: Fix arena_spin_lock compilation on PowerPC new de07b1828992 selftests/bpf: Fix string read in strncmp benchmark new 8c10109a979a selftests/bpf: Fix sockopt selftest failure on powerpc new bb2243f4328b bpf: Check map->record at the beginning of check_and_free_ [...] new 812f7702d83d bpf, x86: Fix objtool warning for timed may_goto new 0de445d18e36 bpf: BPF token support for BPF_BTF_GET_FD_BY_ID new 07651ccda9ff bpf: Return prog btf_id without capable check new 974ef9f0d23e libbpf: Pass BPF token from find_prog_btf_id to BPF_BTF_GE [...] new a024843d92cc selftests/bpf: Test freplace from user namespace new b02f072a3656 Merge branch 'support-freplace-prog-from-user-namespace' new 8d86767be9c9 bpftool: Add -Wformat-signedness flag to detect format errors new 3775be3417cc bpftool: Using the right format specifiers new f3f8649585a4 Merge branch 'bpftool-using-the-right-format-specifiers' new ae0a457f5d33 bpf: Make perf_event_read_output accessible in all program types. new f4edc66e48a6 bpf: Only fails the busy counter check in bpf_cgrp_storage [...] new cfe816d469dc bpf: Reject attaching fexit/fmod_ret to __noreturn functions new be16ddeaae96 selftests/bpf: Add selftest for attaching fexit to __noret [...] new 6ca21620b475 Merge branch 'bpf-reject-attaching-fexit-fmod_ret-to-noret [...] new a2598045ead9 bpf: clarify a misleading verifier error message new 0f9ff4cb687d selftests/bpf: test_xdp_vlan: Rename BPF sections new f8df95e84cc8 selftests/bpf: Migrate test_xdp_vlan.sh into test_progs new 79db658ad1cb Merge branch 'selftests-bpf-migrate-test_xdp_vlan-sh-into- [...] new e16e64f9e076 selftests/bpf: Sanitize pointer prior fclose() new 51d65049cd7e bpf: Add struct_ops context information to struct bpf_prog_aux new 307ef667e945 libbpf: Add namespace for errstr making it libbpf_errstr new c03bb2fa327e bpf: Fix out-of-bounds read in check_atomic_load/store() new 5f3077d7fcd4 selftests/bpf: Add selftests for load-acquire/store-releas [...] new 9aa8fe29f624 Merge branch 'bpf-fix-oob-read-and-add-tests-for-load-acqu [...] new fa593d0f969d Merge tag 'bpf-next-6.15' of git://git.kernel.org/pub/scm/ [...] new 8707d1eedcfb locking: Move MCS struct definition to public header new ac08f68f1fe3 locking: Move common qspinlock helpers to a private header new c0149a034540 locking: Allow obtaining result of arch_mcs_spin_lock_contended new a8fcf2a39bdd locking: Copy out qspinlock.c to kernel/bpf/rqspinlock.c new 30ff133277eb rqspinlock: Add rqspinlock.h header new a926d0992259 rqspinlock: Drop PV and virtualization support new 14c48ee81452 rqspinlock: Add support for timeouts new ebababcd0372 rqspinlock: Hardcode cond_acquire loops for arm64 new 337ffea51aee rqspinlock: Protect pending bit owners from stalls new 164c246571e9 rqspinlock: Protect waiters in queue from stalls new 3bb159366a13 rqspinlock: Protect waiters in trylock fallback from stalls new 31158ad02ddb rqspinlock: Add deadlock detection and recovery new c9102a68c070 rqspinlock: Add a test-and-set fallback new ecbd8047526d rqspinlock: Add basic support for CONFIG_PARAVIRT new 101acd2e78b1 rqspinlock: Add macros for rqspinlock usage new e2082e32fd57 rqspinlock: Add entry to Makefile, MAINTAINERS new a6884f6f1dd5 rqspinlock: Add locktorture support new 4fa8d68aa53e bpf: Convert hashtab.c to rqspinlock new f2ac0e5d1c4d bpf: Convert percpu_freelist.c to rqspinlock new 47979314c0fe bpf: Convert lpm_trie.c to rqspinlock new 97eb35f3ad42 bpf: Introduce rqspinlock kfuncs new 0de2046137f9 bpf: Implement verifier support for rqspinlock new ea21771c077c bpf: Maintain FIFO property for rqspinlock unlock new 60ba5b3ed727 selftests/bpf: Add tests for rqspinlock new 6ffb9017e932 Merge branch 'resilient-queued-spin-lock' new 494e7fe591bf Merge tag 'bpf_res_spin_lock' of git://git.kernel.org/pub/ [...] new 0aaddfb06882 locking/local_lock: Introduce localtry_lock_t new 97769a53f117 mm, bpf: Introduce try_alloc_pages() for opportunistic pag [...] new 8c57b687e833 mm, bpf: Introduce free_pages_nolock() new 01d37228d331 memcg: Use trylock to access memcg stock_lock. new e8d78dbd0199 mm, bpf: Use memcg in try_alloc_pages(). new c9eb8102e21e bpf: Use try_alloc_pages() to allocate pages for bpf needs. new 93ed6fc268c4 Merge branch 'bpf-mm-introduce-try_alloc_pages' new f90b474a3574 mm: Fix the flipped condition in gfpflags_allow_spinning() new aa918db707fb Merge tag 'bpf_try_alloc_pages' of git://git.kernel.org/pu [...]
The 250 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: Documentation/bpf/bpf_iterators.rst | 2 +- Documentation/bpf/btf.rst | 25 +- .../bpf/standardization/instruction-set.rst | 20 +- MAINTAINERS | 2 + arch/arm64/include/asm/insn.h | 12 +- arch/arm64/include/asm/rqspinlock.h | 93 ++ arch/arm64/lib/insn.c | 29 + arch/arm64/net/bpf_jit.h | 20 + arch/arm64/net/bpf_jit_comp.c | 92 +- arch/s390/net/bpf_jit_comp.c | 14 +- arch/x86/include/asm/rqspinlock.h | 33 + arch/x86/net/Makefile | 2 +- arch/x86/net/bpf_jit_comp.c | 100 +- arch/x86/net/bpf_timed_may_goto.S | 55 + fs/bpf_fs_kfuncs.c | 225 ++- include/asm-generic/Kbuild | 1 + include/asm-generic/mcs_spinlock.h | 6 + include/asm-generic/rqspinlock.h | 250 +++ include/linux/bpf-cgroup.h | 1 + include/linux/bpf.h | 43 +- include/linux/bpf_lsm.h | 18 + include/linux/bpf_verifier.h | 51 +- include/linux/btf.h | 3 + include/linux/filter.h | 20 + include/linux/gfp.h | 23 + include/linux/local_lock.h | 70 + include/linux/local_lock_internal.h | 146 ++ include/linux/lsm_hook_defs.h | 6 +- include/linux/mm.h | 5 + include/linux/mm_types.h | 4 + include/linux/mmzone.h | 3 + include/linux/security.h | 12 +- include/uapi/linux/bpf.h | 10 +- include/uapi/linux/btf.h | 3 +- include/uapi/linux/xattr.h | 4 + kernel/bpf/Makefile | 2 +- kernel/bpf/arena.c | 9 +- kernel/bpf/bpf_cgrp_storage.c | 11 +- kernel/bpf/bpf_iter.c | 13 +- kernel/bpf/bpf_lsm.c | 2 + kernel/bpf/bpf_struct_ops.c | 135 +- kernel/bpf/btf.c | 153 +- kernel/bpf/cgroup.c | 33 +- kernel/bpf/core.c | 117 +- kernel/bpf/cpumask.c | 53 + kernel/bpf/disasm.c | 16 +- kernel/bpf/hashtab.c | 111 +- kernel/bpf/helpers.c | 123 +- kernel/bpf/lpm_trie.c | 25 +- kernel/bpf/percpu_freelist.c | 113 +- kernel/bpf/percpu_freelist.h | 4 +- kernel/bpf/preload/bpf_preload_kern.c | 1 + kernel/bpf/rqspinlock.c | 737 +++++++++ kernel/bpf/rqspinlock.h | 48 + kernel/bpf/syscall.c | 77 +- kernel/bpf/verifier.c | 1608 +++++++++++++++----- kernel/locking/lock_events_list.h | 5 + kernel/locking/locktorture.c | 57 + kernel/locking/mcs_spinlock.h | 10 +- kernel/locking/qspinlock.c | 193 +-- kernel/locking/qspinlock.h | 201 +++ kernel/trace/bpf_trace.c | 14 +- lib/stackdepot.c | 10 +- mm/internal.h | 1 + mm/memcontrol.c | 57 +- mm/memory.c | 118 ++ mm/nommu.c | 79 + mm/page_alloc.c | 203 ++- mm/page_owner.c | 8 +- net/core/filter.c | 6 +- samples/bpf/Makefile | 2 +- scripts/Makefile.btf | 2 +- security/security.c | 15 +- security/selinux/hooks.c | 6 +- tools/bpf/bpftool/Makefile | 7 +- tools/bpf/bpftool/btf.c | 14 +- tools/bpf/bpftool/btf_dumper.c | 2 +- tools/bpf/bpftool/cgroup.c | 2 +- tools/bpf/bpftool/common.c | 7 +- tools/bpf/bpftool/gen.c | 12 +- tools/bpf/bpftool/jit_disasm.c | 3 +- tools/bpf/bpftool/link.c | 14 +- tools/bpf/bpftool/main.c | 8 +- tools/bpf/bpftool/map.c | 14 +- tools/bpf/bpftool/map_perf_ring.c | 6 +- tools/bpf/bpftool/net.c | 4 +- tools/bpf/bpftool/netlink_dumper.c | 6 +- tools/bpf/bpftool/prog.c | 13 +- tools/bpf/bpftool/tracelog.c | 2 +- tools/bpf/bpftool/xlated_dumper.c | 6 +- tools/bpf/runqslower/Makefile | 3 +- tools/include/uapi/linux/bpf.h | 10 +- tools/include/uapi/linux/btf.h | 3 +- tools/lib/bpf/bpf.c | 3 +- tools/lib/bpf/bpf.h | 3 +- tools/lib/bpf/btf.c | 105 +- tools/lib/bpf/btf.h | 3 + tools/lib/bpf/btf_dump.c | 5 +- tools/lib/bpf/libbpf.c | 237 +-- tools/lib/bpf/libbpf.h | 13 + tools/lib/bpf/libbpf.map | 3 + tools/lib/bpf/libbpf_internal.h | 1 + tools/lib/bpf/linker.c | 2 +- tools/lib/bpf/relo_core.c | 24 +- tools/lib/bpf/str_error.c | 2 +- tools/lib/bpf/str_error.h | 7 +- tools/lib/bpf/usdt.bpf.h | 32 + tools/testing/selftests/bpf/DENYLIST.aarch64 | 9 - tools/testing/selftests/bpf/Makefile | 28 +- tools/testing/selftests/bpf/bpf_arena_spin_lock.h | 533 +++++++ tools/testing/selftests/bpf/bpf_atomic.h | 140 ++ tools/testing/selftests/bpf/bpf_experimental.h | 15 +- tools/testing/selftests/bpf/bpf_kfuncs.h | 5 + tools/testing/selftests/bpf/cap_helpers.c | 8 +- tools/testing/selftests/bpf/cap_helpers.h | 1 + tools/testing/selftests/bpf/network_helpers.c | 111 +- tools/testing/selftests/bpf/network_helpers.h | 21 + tools/testing/selftests/bpf/prog_tests/align.c | 11 +- .../selftests/bpf/prog_tests/arena_atomics.c | 66 +- .../selftests/bpf/prog_tests/arena_spin_lock.c | 108 ++ .../selftests/bpf/prog_tests/bloom_filter_map.c | 5 + tools/testing/selftests/bpf/prog_tests/bpf_iter.c | 68 + tools/testing/selftests/bpf/prog_tests/bpf_nf.c | 9 +- tools/testing/selftests/bpf/prog_tests/btf.c | 23 +- tools/testing/selftests/bpf/prog_tests/btf_dump.c | 147 +- .../selftests/bpf/prog_tests/cgroup_preorder.c | 128 ++ .../testing/selftests/bpf/prog_tests/cgroup_v1v2.c | 13 +- .../selftests/bpf/prog_tests/changes_pkt_data.c | 107 -- .../bpf/prog_tests/compute_live_registers.c | 9 + .../testing/selftests/bpf/prog_tests/core_reloc.c | 6 +- tools/testing/selftests/bpf/prog_tests/cpumask.c | 5 +- tools/testing/selftests/bpf/prog_tests/dynptr.c | 21 + tools/testing/selftests/bpf/prog_tests/fd_array.c | 4 +- .../selftests/bpf/prog_tests/fexit_noreturns.c | 9 + tools/testing/selftests/bpf/prog_tests/fs_kfuncs.c | 162 +- .../testing/selftests/bpf/prog_tests/kernel_flag.c | 43 + .../selftests/bpf/prog_tests/lwt_ip_encap.c | 540 +++++++ .../selftests/bpf/prog_tests/lwt_seg6local.c | 176 +++ .../selftests/bpf/prog_tests/netns_cookie.c | 21 +- .../selftests/bpf/prog_tests/ns_current_pid_tgid.c | 47 +- tools/testing/selftests/bpf/prog_tests/prepare.c | 99 ++ .../selftests/bpf/prog_tests/pro_epilogue.c | 2 + .../selftests/bpf/prog_tests/rcu_read_lock.c | 3 + .../selftests/bpf/prog_tests/read_vsyscall.c | 1 + .../selftests/bpf/prog_tests/res_spin_lock.c | 98 ++ .../selftests/bpf/prog_tests/setget_sockopt.c | 2 +- tools/testing/selftests/bpf/prog_tests/spin_lock.c | 3 + .../selftests/bpf/prog_tests/summarization.c | 144 ++ tools/testing/selftests/bpf/prog_tests/tailcalls.c | 1 + tools/testing/selftests/bpf/prog_tests/tc_links.c | 28 +- tools/testing/selftests/bpf/prog_tests/tc_opts.c | 40 +- .../bpf/prog_tests/test_struct_ops_kptr_return.c | 16 + .../bpf/prog_tests/test_struct_ops_refcounted.c | 14 + .../testing/selftests/bpf/prog_tests/test_tunnel.c | 633 ++++++-- .../selftests/bpf/prog_tests/test_veristat.c | 139 ++ .../selftests/bpf/prog_tests/test_xdp_veth.c | 638 ++++++-- tools/testing/selftests/bpf/prog_tests/token.c | 97 +- tools/testing/selftests/bpf/prog_tests/usdt.c | 11 +- tools/testing/selftests/bpf/prog_tests/verifier.c | 8 +- tools/testing/selftests/bpf/prog_tests/xdp_vlan.c | 175 +++ tools/testing/selftests/bpf/progs/arena_atomics.c | 121 +- .../testing/selftests/bpf/progs/arena_spin_lock.c | 51 + tools/testing/selftests/bpf/progs/bpf_iter_tasks.c | 110 ++ tools/testing/selftests/bpf/progs/bpf_misc.h | 22 + .../testing/selftests/bpf/progs/bpf_tracing_net.h | 4 + ...ore_reloc_arrays___err_bad_signed_arr_elem_sz.c | 3 + .../testing/selftests/bpf/progs/cgroup_preorder.c | 41 + .../testing/selftests/bpf/progs/changes_pkt_data.c | 39 - .../selftests/bpf/progs/compute_live_registers.c | 424 ++++++ .../testing/selftests/bpf/progs/connect4_dropper.c | 4 +- .../testing/selftests/bpf/progs/core_reloc_types.h | 10 + tools/testing/selftests/bpf/progs/cpumask_common.h | 1 + .../testing/selftests/bpf/progs/cpumask_failure.c | 38 + .../testing/selftests/bpf/progs/cpumask_success.c | 120 +- tools/testing/selftests/bpf/progs/dynptr_success.c | 123 +- .../testing/selftests/bpf/progs/fexit_noreturns.c | 15 + tools/testing/selftests/bpf/progs/irq.c | 124 +- tools/testing/selftests/bpf/progs/iters.c | 139 ++ .../selftests/bpf/progs/netns_cookie_prog.c | 9 + tools/testing/selftests/bpf/progs/preempt_lock.c | 68 +- tools/testing/selftests/bpf/progs/prepare.c | 28 + .../selftests/bpf/progs/priv_freplace_prog.c | 13 + tools/testing/selftests/bpf/progs/priv_prog.c | 6 +- .../selftests/bpf/progs/pro_epilogue_with_kfunc.c | 88 ++ tools/testing/selftests/bpf/progs/rcu_read_lock.c | 61 +- tools/testing/selftests/bpf/progs/read_vsyscall.c | 11 +- tools/testing/selftests/bpf/progs/res_spin_lock.c | 143 ++ .../selftests/bpf/progs/res_spin_lock_fail.c | 244 +++ .../testing/selftests/bpf/progs/set_global_vars.c | 47 + tools/testing/selftests/bpf/progs/strncmp_bench.c | 5 +- .../selftests/bpf/progs/struct_ops_kptr_return.c | 30 + .../struct_ops_kptr_return_fail__invalid_scalar.c | 26 + .../struct_ops_kptr_return_fail__local_kptr.c | 34 + .../struct_ops_kptr_return_fail__nonzero_offset.c | 25 + .../struct_ops_kptr_return_fail__wrong_type.c | 30 + .../selftests/bpf/progs/struct_ops_refcounted.c | 31 + .../struct_ops_refcounted_fail__global_subprog.c | 39 + .../progs/struct_ops_refcounted_fail__ref_leak.c | 22 + .../progs/struct_ops_refcounted_fail__tail_call.c | 36 + tools/testing/selftests/bpf/progs/summarization.c | 78 + ...kt_data_freplace.c => summarization_freplace.c} | 17 +- .../selftests/bpf/progs/test_cgroup1_hierarchy.c | 4 +- .../selftests/bpf/progs/test_core_reloc_arrays.c | 5 + tools/testing/selftests/bpf/progs/test_get_xattr.c | 28 +- .../testing/selftests/bpf/progs/test_kernel_flag.c | 28 + .../selftests/bpf/progs/test_kfunc_dynptr_param.c | 6 +- .../testing/selftests/bpf/progs/test_lookup_key.c | 2 +- .../selftests/bpf/progs/test_ptr_untrusted.c | 2 +- .../bpf/progs/test_select_reuseport_kern.c | 1 - .../selftests/bpf/progs/test_set_remove_xattr.c | 133 ++ .../selftests/bpf/progs/test_spin_lock_fail.c | 69 + .../selftests/bpf/progs/test_task_under_cgroup.c | 2 +- tools/testing/selftests/bpf/progs/test_usdt.c | 14 + .../selftests/bpf/progs/test_verify_pkcs7_sig.c | 2 +- tools/testing/selftests/bpf/progs/test_xdp_vlan.c | 20 +- .../selftests/bpf/progs/verifier_bpf_fastcall.c | 58 +- tools/testing/selftests/bpf/progs/verifier_gotol.c | 6 +- .../bpf/progs/verifier_iterating_callbacks.c | 6 +- .../selftests/bpf/progs/verifier_load_acquire.c | 218 +++ .../selftests/bpf/progs/verifier_may_goto_1.c | 34 +- .../selftests/bpf/progs/verifier_precision.c | 49 + .../selftests/bpf/progs/verifier_stack_ptr.c | 52 + .../selftests/bpf/progs/verifier_store_release.c | 286 ++++ .../testing/selftests/bpf/progs/xdp_redirect_map.c | 88 ++ .../selftests/bpf/progs/xdp_redirect_multi_kern.c | 41 +- tools/testing/selftests/bpf/test_btf.h | 6 + .../testing/selftests/bpf/test_kmods/bpf_testmod.c | 108 ++ .../testing/selftests/bpf/test_kmods/bpf_testmod.h | 6 + tools/testing/selftests/bpf/test_loader.c | 32 +- tools/testing/selftests/bpf/test_lwt_ip_encap.sh | 476 ------ tools/testing/selftests/bpf/test_lwt_seg6local.sh | 156 -- tools/testing/selftests/bpf/test_maps.c | 9 +- tools/testing/selftests/bpf/test_progs.c | 72 +- tools/testing/selftests/bpf/test_progs.h | 8 + tools/testing/selftests/bpf/test_tunnel.sh | 645 -------- .../selftests/bpf/test_xdp_redirect_multi.sh | 214 --- tools/testing/selftests/bpf/test_xdp_vlan.sh | 233 --- .../selftests/bpf/test_xdp_vlan_mode_generic.sh | 9 - .../selftests/bpf/test_xdp_vlan_mode_native.sh | 9 - tools/testing/selftests/bpf/veristat.c | 367 ++++- tools/testing/selftests/bpf/with_addr.sh | 54 - tools/testing/selftests/bpf/with_tunnels.sh | 36 - tools/testing/selftests/bpf/xdp_redirect_multi.c | 226 --- 243 files changed, 13458 insertions(+), 3950 deletions(-) create mode 100644 arch/arm64/include/asm/rqspinlock.h create mode 100644 arch/x86/include/asm/rqspinlock.h create mode 100644 arch/x86/net/bpf_timed_may_goto.S create mode 100644 include/asm-generic/rqspinlock.h create mode 100644 kernel/bpf/rqspinlock.c create mode 100644 kernel/bpf/rqspinlock.h create mode 100644 kernel/locking/qspinlock.h create mode 100644 tools/testing/selftests/bpf/bpf_arena_spin_lock.h create mode 100644 tools/testing/selftests/bpf/bpf_atomic.h create mode 100644 tools/testing/selftests/bpf/prog_tests/arena_spin_lock.c create mode 100644 tools/testing/selftests/bpf/prog_tests/cgroup_preorder.c delete mode 100644 tools/testing/selftests/bpf/prog_tests/changes_pkt_data.c create mode 100644 tools/testing/selftests/bpf/prog_tests/compute_live_registers.c create mode 100644 tools/testing/selftests/bpf/prog_tests/fexit_noreturns.c create mode 100644 tools/testing/selftests/bpf/prog_tests/kernel_flag.c create mode 100644 tools/testing/selftests/bpf/prog_tests/lwt_ip_encap.c create mode 100644 tools/testing/selftests/bpf/prog_tests/lwt_seg6local.c create mode 100644 tools/testing/selftests/bpf/prog_tests/prepare.c create mode 100644 tools/testing/selftests/bpf/prog_tests/res_spin_lock.c create mode 100644 tools/testing/selftests/bpf/prog_tests/summarization.c create mode 100644 tools/testing/selftests/bpf/prog_tests/test_struct_ops_kptr_return.c create mode 100644 tools/testing/selftests/bpf/prog_tests/test_struct_ops_refcounted.c create mode 100644 tools/testing/selftests/bpf/prog_tests/test_veristat.c create mode 100644 tools/testing/selftests/bpf/prog_tests/xdp_vlan.c create mode 100644 tools/testing/selftests/bpf/progs/arena_spin_lock.c create mode 100644 tools/testing/selftests/bpf/progs/btf__core_reloc_arrays___err_ [...] create mode 100644 tools/testing/selftests/bpf/progs/cgroup_preorder.c delete mode 100644 tools/testing/selftests/bpf/progs/changes_pkt_data.c create mode 100644 tools/testing/selftests/bpf/progs/compute_live_registers.c create mode 100644 tools/testing/selftests/bpf/progs/fexit_noreturns.c create mode 100644 tools/testing/selftests/bpf/progs/prepare.c create mode 100644 tools/testing/selftests/bpf/progs/priv_freplace_prog.c create mode 100644 tools/testing/selftests/bpf/progs/pro_epilogue_with_kfunc.c create mode 100644 tools/testing/selftests/bpf/progs/res_spin_lock.c create mode 100644 tools/testing/selftests/bpf/progs/res_spin_lock_fail.c create mode 100644 tools/testing/selftests/bpf/progs/set_global_vars.c create mode 100644 tools/testing/selftests/bpf/progs/struct_ops_kptr_return.c create mode 100644 tools/testing/selftests/bpf/progs/struct_ops_kptr_return_fail__ [...] create mode 100644 tools/testing/selftests/bpf/progs/struct_ops_kptr_return_fail__ [...] create mode 100644 tools/testing/selftests/bpf/progs/struct_ops_kptr_return_fail__ [...] create mode 100644 tools/testing/selftests/bpf/progs/struct_ops_kptr_return_fail__ [...] create mode 100644 tools/testing/selftests/bpf/progs/struct_ops_refcounted.c create mode 100644 tools/testing/selftests/bpf/progs/struct_ops_refcounted_fail__g [...] create mode 100644 tools/testing/selftests/bpf/progs/struct_ops_refcounted_fail__r [...] create mode 100644 tools/testing/selftests/bpf/progs/struct_ops_refcounted_fail__t [...] create mode 100644 tools/testing/selftests/bpf/progs/summarization.c rename tools/testing/selftests/bpf/progs/{changes_pkt_data_freplace.c => summariza [...] create mode 100644 tools/testing/selftests/bpf/progs/test_kernel_flag.c create mode 100644 tools/testing/selftests/bpf/progs/test_set_remove_xattr.c create mode 100644 tools/testing/selftests/bpf/progs/verifier_load_acquire.c create mode 100644 tools/testing/selftests/bpf/progs/verifier_store_release.c delete mode 100755 tools/testing/selftests/bpf/test_lwt_ip_encap.sh delete mode 100755 tools/testing/selftests/bpf/test_lwt_seg6local.sh delete mode 100755 tools/testing/selftests/bpf/test_tunnel.sh delete mode 100755 tools/testing/selftests/bpf/test_xdp_redirect_multi.sh delete mode 100755 tools/testing/selftests/bpf/test_xdp_vlan.sh delete mode 100755 tools/testing/selftests/bpf/test_xdp_vlan_mode_generic.sh delete mode 100755 tools/testing/selftests/bpf/test_xdp_vlan_mode_native.sh delete mode 100755 tools/testing/selftests/bpf/with_addr.sh delete mode 100755 tools/testing/selftests/bpf/with_tunnels.sh delete mode 100644 tools/testing/selftests/bpf/xdp_redirect_multi.c