linux/tools/testing/selftests/bpf/prog_tests
Linus Torvalds 494e7fe591 bpf_res_spin_lock
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+soXsSLHKoYyzcli6rmadz2vbToFAmfcq3kACgkQ6rmadz2v
 bToxkw/8DHIqjVnzU2O9hbRM1anYo6yM8e34IxCt0ajHTSEVJ93+C161QDWo/6Dk
 +RNlaeGekaBUk+QOLb4u+rzZ2eR/pWSm37xuDRAiBCQ+3MgR60gGRaSljpS3IUem
 0FvS6C1HObBCEUXMU2rNv/5cJB5/qrQYa9FEEjRvBTLqgQkdS7yaW/KKuZaNb+Ts
 KiEeWvPrPSZXStfRGy8Wr4eS2rYhxPAikUR+xde9CM+HtMWwKTCTSp8qXrqA92Dj
 Cz9ix01scznuf78QCRDZp09im3lZys8ZQprmPgMxyEscN+CDL7n68wAhmTJq0uo3
 3NqIv7zBQ8wMChj0f0HjwZ0Wrj7BJAveY2Q0RterxdzT4vMKdtNkThX46ISaCoX/
 XQAAhZHemK6MvBJk+LKkqqMgrD+3FAzvY7O+SCyUBAMs4FK1myRJQihdLXHGfiBU
 DMDZE1jsE8qBaeUbz4LIuCy8fx2LhtVwVNwbNIBUZHdyfjxIXnQT/8Cnrgklwy2i
 tnYekhAsHDQY+QDkrvJpc4E1vUtiXwSDI5ErcnWdSzctEOyVeUg7OuuGD4riCd1c
 emdJmtASM1z9Ajqa1dytDxVaF6wjKlbhQgnKamuex5JLGCK6makk8ZoB+DBfKYHD
 VoWummTu8ldf+Dp4ehBh7AbeF2vn4kLqcF1PLRsBO6ytJs4HIt8=
 =5O7h
 -----END PGP SIGNATURE-----

Merge tag 'bpf_res_spin_lock' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next

Pull bpf relisient spinlock support from Alexei Starovoitov:
 "This patch set introduces Resilient Queued Spin Lock (or rqspinlock
  with res_spin_lock() and res_spin_unlock() APIs).

  This is a qspinlock variant which recovers the kernel from a stalled
  state when the lock acquisition path cannot make forward progress.
  This can occur when a lock acquisition attempt enters a deadlock
  situation (e.g. AA, or ABBA), or more generally, when the owner of the
  lock (which we’re trying to acquire) isn’t making forward progress.
  Deadlock detection is the main mechanism used to provide instant
  recovery, with the timeout mechanism acting as a final line of
  defense. Detection is triggered immediately when beginning the waiting
  loop of a lock slow path.

  Additionally, BPF programs attached to different parts of the kernel
  can introduce new control flow into the kernel, which increases the
  likelihood of deadlocks in code not written to handle reentrancy.
  There have been multiple syzbot reports surfacing deadlocks in
  internal kernel code due to the diverse ways in which BPF programs can
  be attached to different parts of the kernel. By switching the BPF
  subsystem’s lock usage to rqspinlock, all of these issues are
  mitigated at runtime.

  This spin lock implementation allows BPF maps to become safer and
  remove mechanisms that have fallen short in assuring safety when
  nesting programs in arbitrary ways in the same context or across
  different contexts.

  We run benchmarks that stress locking scalability and perform
  comparison against the baseline (qspinlock). For the rqspinlock case,
  we replace the default qspinlock with it in the kernel, such that all
  spin locks in the kernel use the rqspinlock slow path. As such,
  benchmarks that stress kernel spin locks end up exercising rqspinlock.

  More details in the cover letter in commit 6ffb9017e9 ("Merge branch
  'resilient-queued-spin-lock'")"

* tag 'bpf_res_spin_lock' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (24 commits)
  selftests/bpf: Add tests for rqspinlock
  bpf: Maintain FIFO property for rqspinlock unlock
  bpf: Implement verifier support for rqspinlock
  bpf: Introduce rqspinlock kfuncs
  bpf: Convert lpm_trie.c to rqspinlock
  bpf: Convert percpu_freelist.c to rqspinlock
  bpf: Convert hashtab.c to rqspinlock
  rqspinlock: Add locktorture support
  rqspinlock: Add entry to Makefile, MAINTAINERS
  rqspinlock: Add macros for rqspinlock usage
  rqspinlock: Add basic support for CONFIG_PARAVIRT
  rqspinlock: Add a test-and-set fallback
  rqspinlock: Add deadlock detection and recovery
  rqspinlock: Protect waiters in trylock fallback from stalls
  rqspinlock: Protect waiters in queue from stalls
  rqspinlock: Protect pending bit owners from stalls
  rqspinlock: Hardcode cond_acquire loops for arm64
  rqspinlock: Add support for timeouts
  rqspinlock: Drop PV and virtualization support
  rqspinlock: Add rqspinlock.h header
  ...
2025-03-30 13:06:27 -07:00
..
.gitignore
access_variable_array.c selftests/bpf: Add test to access integer type of variable array 2023-04-19 21:29:39 -07:00
align.c bpf: simple DFA-based live registers analysis 2025-03-15 11:48:29 -07:00
arena_atomics.c selftests/bpf: Add selftests for load-acquire and store-release instructions 2025-03-15 11:48:29 -07:00
arena_htab.c selftests/bpf: Remove hard coded PAGE_SIZE macro. 2024-03-15 14:24:03 -07:00
arena_list.c selftests/bpf: Remove hard coded PAGE_SIZE macro. 2024-03-15 14:24:03 -07:00
arena_spin_lock.c selftests/bpf: Fix arena_spin_lock compilation on PowerPC 2025-03-15 11:48:59 -07:00
arg_parsing.c selftests/bpf: Test_progs can read test lists from file 2023-05-01 15:30:02 -07:00
assign_reuse.c selftests/bpf: Test that SO_REUSEPORT can be used with sk_assign helper 2023-07-25 14:02:47 -07:00
async_stack_depth.c selftests/bpf: Add selftest for check_stack_max_depth bug 2023-07-05 19:14:54 -07:00
atomic_bounds.c
atomics.c
attach_probe.c selftests/bpf: Add tests for bpf_copy_from_user_str kfunc. 2024-08-23 15:40:11 -07:00
autoattach.c
autoload.c
bad_struct_ops.c selftests/bpf: Verify struct_ops autoload/autocreate sync 2024-03-06 15:18:15 -08:00
bind_perm.c selftests/bpf: Replaces the usage of CHECK calls for ASSERTs in bind_perm 2023-11-21 10:43:03 -08:00
bloom_filter_map.c selftests/bpf: Select NUMA_NO_NODE to create map 2025-02-11 16:41:25 -08:00
bpf_cookie.c selftests/bpf: Clean up open-coded gettid syscall invocations 2024-11-04 11:37:36 -08:00
bpf_iter.c selftests/bpf: Add tests for bpf_copy_from_user_task_str 2025-02-19 17:01:36 -08:00
bpf_iter_setsockopt.c selftests/bpf: Fix error compiling bpf_iter_setsockopt.c with musl libc 2024-07-29 15:05:07 -07:00
bpf_iter_setsockopt_unix.c
bpf_loop.c
bpf_mod_race.c selftests/bpf: Use un/load_bpf_testmod functions in tests 2023-05-16 22:09:23 -07:00
bpf_nf.c selftests/bpf: Allow auto port binding for bpf nf 2025-03-15 11:48:24 -07:00
bpf_obj_id.c selftests/bpf: Replaces the usage of CHECK calls for ASSERTs in bpf_obj_id 2023-11-21 10:45:24 -08:00
bpf_obj_pinning.c selftests/bpf: Fix flaky cgroup_iter_sleepable subtest 2023-08-30 08:45:05 +02:00
bpf_tcp_ca.c selftests/bpf: Move ENOTSUPP from bpf_util.h 2024-11-11 08:18:35 -08:00
bpf_verif_scale.c selftests/bpf: Remove unused struct 'scale_test_def' 2024-06-03 16:52:42 +02:00
btf.c selftests/bpf: Add a BTF verification test for kflagged type_tag 2025-02-05 16:18:00 -08:00
btf_dedup_split.c
btf_distill.c selftests/bpf: Add distilled BTF test about marking BTF_IS_EMBEDDED 2025-01-16 15:34:18 -08:00
btf_dump.c selftests/bpf: Add a btf_dump test for type_tags 2025-02-05 16:17:59 -08:00
btf_endian.c
btf_field_iter.c selftests/bpf: Add btf_field_iter selftests 2024-06-06 15:56:30 +02:00
btf_map_in_map.c selftests/bpf: Fix flaky test btf_map_in_map/lookup_update 2024-03-25 17:25:54 +01:00
btf_module.c
btf_skc_cls_ingress.c selftests/bpf: test MSS value returned with bpf_tcp_gen_syncookie 2024-10-21 13:18:51 -07:00
btf_split.c
btf_tag.c
btf_write.c
build_id.c selftests/bpf: add build ID tests 2024-09-11 09:58:31 -07:00
cb_refs.c bpf: Drop special callback reference handling 2024-11-11 08:18:55 -08:00
cg_storage_multi.c selftests/bpf: fix some typos in selftests 2024-09-05 13:07:47 -07:00
cgroup1_hierarchy.c selftests/bpf: Run cgroup1_hierarchy test in own mount namespace 2024-04-29 16:14:11 -07:00
cgroup_ancestor.c selftests/bpf: Fix error compiling cgroup_ancestor.c with musl libc 2024-10-09 18:29:07 -07:00
cgroup_attach_autodetach.c
cgroup_attach_multi.c
cgroup_attach_override.c
cgroup_dev.c selftests/bpf: add wrong type test to cgroup dev 2024-07-31 10:00:20 -07:00
cgroup_get_current_cgroup_id.c selftests/bpf: convert get_current_cgroup_id_user to test_progs 2024-08-14 18:10:46 -07:00
cgroup_getset_retval.c selftests/bpf: Correctly handle optlen > 4096 2023-05-13 16:55:46 -07:00
cgroup_hierarchical_stats.c
cgroup_iter.c selftests/bpf: Add tests for css_task iter combining with cgroup iter 2023-11-01 22:49:20 -07:00
cgroup_link.c
cgroup_preorder.c selftests/bpf: Add selftests allowing cgroup prog pre-ordering 2025-03-15 11:48:25 -07:00
cgroup_skb_direct_packet_access.c selftests/bpf: add cgroup skb direct packet access test 2024-12-02 08:41:17 -08:00
cgroup_skb_sk_lookup.c
cgroup_storage.c selftests/bpf: convert test_cgroup_storage to test_progs 2024-08-14 18:10:47 -07:00
cgroup_tcp_skb.c selftests/bpf: remove duplicated functions 2023-08-08 17:01:19 -07:00
cgroup_v1v2.c selftests/bpf: Allow auto port binding for cgroup connect 2025-03-15 11:48:24 -07:00
cgrp_kfunc.c selftests/bpf: Add a test case for bpf_cgroup_from_id() 2023-02-23 08:33:43 -08:00
cgrp_local_storage.c selftests/bpf: Clean up open-coded gettid syscall invocations 2024-11-04 11:37:36 -08:00
check_mtu.c selftests/bpf: Fix check_mtu using wrong variable type 2023-06-06 17:08:22 +02:00
cls_redirect.c selftests/bpf: Use connect_to_addr in cls_redirect 2024-04-19 17:13:29 -07:00
compute_live_registers.c selftests/bpf: test cases for compute_live_registers() 2025-03-15 11:48:30 -07:00
connect_force_port.c
connect_ping.c selftests/bpf: Fix compiler warnings reported in -O2 mode 2023-10-06 20:17:28 +02:00
core_autosize.c
core_extern.c
core_kern.c
core_kern_overflow.c
core_read_macros.c
core_reloc.c selftests/bpf: add test for LDX/STX/ST relocations over array field 2025-02-14 19:58:14 -08:00
core_reloc_raw.c selftests/bpf: test for malformed BPF_CORE_TYPE_ID_LOCAL relocation 2024-08-22 08:00:26 -07:00
core_retro.c
cpu_mask.c
cpumask.c selftests: bpf: fix duplicate selftests in cpumask_success. 2025-03-15 11:48:58 -07:00
crypto_sanity.c selftests/bpf: Fix errors compiling crypto_sanity.c with musl libc 2024-07-29 15:05:08 -07:00
ctx_rewrite.c selftests/bpf: extract utility function for BPF disassembly 2024-07-29 15:05:05 -07:00
custom_sec_handlers.c
d_path.c selftests/bpf: Fix d_path test 2023-08-31 17:18:53 +02:00
decap_sanity.c selftests/bpf: Fix errors compiling decap_sanity.c with musl libc 2024-07-29 15:05:08 -07:00
deny_namespace.c
dummy_st_ops.c selftests/bpf: dummy_st_ops should reject 0 for non-nullable params 2024-04-25 12:42:43 -07:00
dynptr.c selftests/bpf: Add tests for bpf_dynptr_copy 2025-03-15 11:48:20 -07:00
empty_skb.c selftests/bpf: Use log_err in open_netns/close_netns 2024-04-24 13:12:28 -07:00
enable_stats.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
endian.c
exceptions.c selftests/bpf: Print log buffer for exceptions test only on failure 2023-09-19 02:07:36 -07:00
exhandler.c
fd_array.c selftests/bpf: Convert comma to semicolon 2025-03-15 11:48:58 -07:00
fentry_fexit.c
fentry_test.c selftests/bpf: add testcase for TRACING with 6+ arguments 2023-07-13 16:04:56 -07:00
fexit_bpf2bpf.c selftests/bpf: add freplace of BTF-unreliable main prog test 2023-12-19 18:06:47 -08:00
fexit_noreturns.c selftests/bpf: Add selftest for attaching fexit to __noreturn functions 2025-03-18 19:07:18 -07:00
fexit_sleep.c selftests/bpf: fexit_sleep: Fix stack allocation for arm64 2024-07-17 19:22:44 +02:00
fexit_stress.c selftests: bpf: Replace sizeof(arr)/sizeof(arr[0]) with ARRAY_SIZE 2024-09-04 12:58:46 -07:00
fexit_test.c selftests/bpf: add testcase for TRACING with 6+ arguments 2023-07-13 16:04:56 -07:00
fib_lookup.c selftests/bpf: Add BPF_FIB_LOOKUP_MARK tests 2024-03-28 18:30:53 -07:00
fill_link_info.c selftests/bpf: Fix fill_link_info selftest on powerpc 2024-12-09 13:55:29 -08:00
find_vma.c selftests/bpf: Fix bpf_cookie and find_vma in nested VM 2024-06-04 11:17:54 -07:00
flow_dissector.c selftests/bpf: ensure proper root namespace cleanup when test fail 2024-12-02 11:04:35 -08:00
flow_dissector_classification.c selftests/bpf: Add a specific dst port matching 2025-02-19 18:54:59 -08:00
flow_dissector_load_bytes.c
flow_dissector_reattach.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
for_each.c selftests/bpf: add test for bpf_for_each_map_elem() with different maps 2024-04-05 10:31:18 -07:00
free_timer.c selftests/bpf: Add test case for the freeing of bpf_timer 2025-01-20 09:09:02 -08:00
fs_kfuncs.c selftests/bpf: Test kfuncs that set and remove xattr from BPF programs 2025-02-13 19:35:32 -08:00
get_branch_snapshot.c selftests/bpf: Use PERF_COUNT_HW_CPU_CYCLES event for get_branch_snapshot 2023-04-07 15:24:43 -07:00
get_func_args_test.c selftests/bpf: add testcase for TRACING with 6+ arguments 2023-07-13 16:04:56 -07:00
get_func_ip_test.c selftests/bpf: Add bpf_get_func_ip test for uprobe inside function 2023-08-07 16:42:58 -07:00
get_stack_raw_tp.c
get_stackid_cannot_attach.c selftests/bpf: Fix leaked bpf_link in get_stackid_cannot_attach 2023-04-13 14:32:05 +02:00
global_data.c
global_data_init.c
global_func_args.c
global_func_dead_code.c selftests/bpf: validate eliminated global subprog is not freplaceable 2023-12-11 19:16:32 -08:00
global_map_resize.c selftests/bpf: extend existing map resize tests for per-cpu use case 2023-07-12 07:57:18 -07:00
hash_large_key.c
hashmap.c
helper_restricted.c
htab_reuse.c selftests/bpf: Add test case for element reuse in htab map 2023-02-15 15:40:06 -08:00
htab_update.c
inner_array_lookup.c selftests/bpf: Add access_inner_map selftest 2023-06-02 17:04:22 -07:00
ip_check_defrag.c selftests/bpf: Drop noconnect from network_helper_opts 2024-06-20 20:42:44 -07:00
iters.c selftests/bpf: watchdog timer for test_progs 2024-11-12 13:53:27 -08:00
jeq_infer_not_null.c selftests/bpf: check null propagation only neither reg is PTR_TO_BTF_ID 2022-12-22 17:19:23 -08:00
jit_probe_mem.c selftests/bpf: Add verifier test exercising jit PROBE_MEM logic 2022-12-22 00:53:58 +01:00
kernel_flag.c selftests/bpf: Add a kernel flag test for LSM bpf hook 2025-03-15 11:48:58 -07:00
kfree_skb.c selftests/bpf: Fix compiling kfree_skb.c with musl-libc 2024-07-29 15:05:08 -07:00
kfunc_call.c bpf: Fix error message on kfunc arg type mismatch 2024-09-09 15:58:17 -07:00
kfunc_dynptr_param.c selftests/bpf: Clean up user_ringbuf, cgrp_kfunc, kfunc_dynptr_param tests 2023-02-13 21:42:29 -08:00
kfunc_module_order.c selftests/bpf: Add test for kfunc module order 2024-10-10 10:44:03 -07:00
kfunc_param_nullable.c selftests: bpf: add testmod kfunc for nullable params 2024-06-13 16:33:04 -07:00
kmem_cache_iter.c selftests/bpf: Add a test for open coded kmem_cache iter 2024-11-01 11:08:32 -07:00
kprobe_multi_test.c selftests/bpf: Add a test for kprobe multi with unique_match 2025-01-10 13:11:44 -08:00
kprobe_multi_testmod_test.c selftests/bpf: trace_helpers.c: Optimize kallsyms cache 2023-09-08 16:22:41 -07:00
kptr_xchg_inline.c selftests/bpf: Enable inline bpf_kptr_xchg() test for RV64 2024-02-01 11:35:48 +01:00
ksyms.c selftests/bpf: Replace CHECK with ASSERT macros for ksyms test 2024-03-28 18:31:41 -07:00
ksyms_btf.c
ksyms_module.c
l4lb_all.c selftests/bpf: tests for using dynptrs to parse skb and xdp buffers 2023-03-01 10:05:19 -08:00
legacy_printk.c
libbpf_get_fd_by_id_opts.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
libbpf_probes.c bpf: Add BPF token support to BPF_PROG_LOAD command 2024-01-24 16:21:01 -08:00
libbpf_str.c bpf: Add BPF token support to BPF_PROG_LOAD command 2024-01-24 16:21:01 -08:00
link_pinning.c
linked_funcs.c selftests/bpf: Clean up open-coded gettid syscall invocations 2024-11-04 11:37:36 -08:00
linked_list.c selftests/bpf: Test global bpf_list_head arrays. 2024-06-03 20:52:43 -07:00
linked_maps.c
linked_vars.c
load_bytes_relative.c
local_kptr_stash.c selftests/bpf: Test bpf_kptr_xchg stashing of bpf_rb_root 2023-12-05 15:06:47 +01:00
log_buf.c selftests/bpf: Removed redundant fd after close in bpf_prog_load_log_buf 2024-10-10 19:15:02 -07:00
log_fixup.c bpf: emit source code file name and line number in verifier log 2024-02-13 18:51:32 -08:00
lookup_and_delete.c
lookup_key.c
lru_bug.c
lsm_cgroup.c selftests/bpf: Move ENOTSUPP from bpf_util.h 2024-11-11 08:18:35 -08:00
lwt_helpers.h selftests/bpf: Move open_tuntap to network helpers 2025-03-06 12:31:08 -08:00
lwt_ip_encap.c selftests/bpf: Move test_lwt_ip_encap to test_progs 2025-03-15 11:48:57 -07:00
lwt_redirect.c selftests/bpf: Fix errors compiling lwt_redirect.c with musl libc 2024-07-29 15:05:08 -07:00
lwt_reroute.c selftests/bpf: Fix redefinition errors compiling lwt_reroute.c 2024-07-30 13:45:45 -07:00
lwt_seg6local.c selftests/bpf: lwt_seg6local: Move test to test_progs 2025-03-15 11:48:57 -07:00
map_btf.c selftests/bpf: Test the release of map btf 2023-12-18 18:15:49 +01:00
map_in_map.c selftests/bpf: Test the update operations for htab of maps 2024-11-11 08:18:39 -08:00
map_init.c
map_kptr.c selftests/bpf: Add more tests for kptrs in maps 2023-03-01 10:24:33 -08:00
map_lock.c
map_lookup_percpu_elem.c
map_ops.c bpf/selftests: coverage for bpf_map_ops errors 2023-03-22 15:11:06 -07:00
map_ptr.c
metadata.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
migrate_reuseport.c Fix typos in selftest/bpf files 2023-02-16 16:56:17 -08:00
missed.c selftests/bpf: Add kprobe session recursion check test 2025-01-08 09:39:58 -08:00
mmap.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
modify_return.c selftests/bpf: add testcase for TRACING with 6+ arguments 2023-07-13 16:04:56 -07:00
module_attach.c selftests/bpf: add tests for the "module: Function" syntax 2024-05-01 09:53:48 -07:00
module_fentry_shadow.c selftests: bpf: Replace sizeof(arr)/sizeof(arr[0]) with ARRAY_SIZE 2024-09-04 12:58:46 -07:00
mptcp.c selftests/bpf: Drop netns helpers in mptcp 2024-11-05 16:05:28 -08:00
nested_trust.c selftests/bpf: Add test for zero offset or non-zero offset pointers as KF_ACQUIRE kfuncs argument 2024-08-28 17:11:54 -07:00
net_timestamping.c selftests/bpf: Add simple bpf tests in the tx path for timestamping feature 2025-02-20 14:30:07 -08:00
netcnt.c selftests/bpf: improve netcnt test robustness 2023-05-16 20:57:16 -07:00
netfilter_link_attach.c selftests/bpf: Add asserts for netfilter link info 2024-10-16 17:04:38 +02:00
netns_cookie.c selftests/bpf: add cgroup_skb netns cookie tests 2025-02-26 07:35:51 -08:00
ns_current_pid_tgid.c selftests/bpf: ns_current_pid_tgid: Use test_progs's ns_ feature 2025-02-19 09:46:02 -08:00
obj_name.c
parse_tcp_hdr_opt.c selftests/bpf: Fix compiling parse_tcp_hdr_opt.c with musl-libc 2024-07-29 15:05:07 -07:00
pe_preserve_elems.c
percpu_alloc.c selftests/bpf: Improve percpu_alloc test robustness 2023-10-16 13:49:18 +02:00
perf_branches.c
perf_buffer.c
perf_event_stackmap.c selftests/bpf: Use read_perf_max_sample_freq() in perf_event_stackmap 2023-04-13 14:32:04 +02:00
perf_link.c selftests/bpf: Check for timeout in perf_link test 2024-10-11 12:36:59 -07:00
perf_skip.c selftest/bpf: Test a perf BPF program that suppresses side effects 2024-04-12 11:49:51 +02:00
pinning.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
pkt_access.c
pkt_md_access.c
preempt_lock.c selftests/bpf: Add tests for preempt kfuncs 2024-04-24 09:47:49 -07:00
preempted_bpf_ma_op.c selftests/bpf: Test preemption between bpf_obj_new() and bpf_obj_drop() 2023-09-08 08:42:19 -07:00
prepare.c selftests/bpf: Add tests for bpf_object__prepare 2025-03-15 11:48:28 -07:00
pro_epilogue.c selftests/bpf: Test gen_pro/epilogue that generate kfuncs 2025-02-25 19:04:43 -08:00
probe_read_user_str.c
probe_user.c
prog_array_init.c
prog_run_opts.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
prog_tests_framework.c
ptr_untrusted.c selftests/bpf: Add selftest for PTR_UNTRUSTED 2023-07-13 16:24:29 -07:00
queue_stack_map.c selftests/bpf: Fix compiler warnings reported in -O2 mode 2023-10-06 20:17:28 +02:00
raw_tp_null.c selftests/bpf: Add tests for raw_tp NULL args 2024-12-13 16:24:53 -08:00
raw_tp_test_run.c
raw_tp_writable_reject_nbd_invalid.c selftests: bpf: Replace sizeof(arr)/sizeof(arr[0]) with ARRAY_SIZE 2024-09-04 12:58:46 -07:00
raw_tp_writable_test_run.c selftests: bpf: Replace sizeof(arr)/sizeof(arr[0]) with ARRAY_SIZE 2024-09-04 12:58:46 -07:00
rbtree.c selftests/bpf: Test global bpf_rb_root arrays and fields in nested struct types. 2024-06-03 20:52:42 -07:00
rcu_read_lock.c selftests/bpf: Test sleepable global subprogs in atomic contexts 2025-03-15 11:48:25 -07:00
rdonly_maps.c
read_vsyscall.c selftests/bpf: Add tests for bpf_copy_from_user_task_str 2025-02-19 17:01:36 -08:00
recursion.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
recursive_attach.c selftests/bpf: Test re-attachment fix for bpf_tracing_prog_attach 2024-01-04 20:40:49 -08:00
refcounted_kptr.c bpf: Reenable bpf_refcount_acquire 2023-08-25 09:23:16 -07:00
reference_tracking.c
reg_bounds.c selftests/bpf: fix some typos in selftests 2024-09-05 13:07:47 -07:00
res_spin_lock.c selftests/bpf: Add tests for rqspinlock 2025-03-19 08:03:06 -07:00
resolve_btfids.c selftests/bpf: fix some typos in selftests 2024-09-05 13:07:47 -07:00
ringbuf.c selftests/bpf: Add more ring buffer test coverage 2024-06-24 13:43:55 +02:00
ringbuf_multi.c selftests/bpf: Add tests for ring_buffer__ring 2023-09-25 16:22:42 -07:00
section_names.c selftests/bpf: Add tests for cgroup unix socket address hooks 2023-10-11 17:27:55 -07:00
select_reuseport.c selftests/bpf: Monitor traffic for select_reuseport. 2024-08-15 12:26:57 -07:00
send_signal.c selftests/bpf: update send_signal to lower perf evemts frequency 2024-11-12 13:53:27 -08:00
send_signal_sched_switch.c
setget_sockopt.c selftests/bpf: Correct the check of join cgroup 2025-02-06 21:18:04 -08:00
signal_pending.c
sk_assign.c selftests/bpf: Use connect_to_addr in sk_assign 2024-04-19 17:13:29 -07:00
sk_lookup.c selftests/bpf: Drop unneeded error.h includes 2024-07-29 15:05:07 -07:00
sk_storage_omem_uncharge.c selftests/bpf: Check bpf_sk_storage has uncharged sk_omem_alloc 2023-09-06 11:08:47 +02:00
sk_storage_tracing.c
skb_ctx.c
skb_helpers.c
skb_load_bytes.c
skc_to_unix_sock.c
skeleton.c
snprintf.c
snprintf_btf.c
sock_addr.c selftests/bpf: Move ENOTSUPP from bpf_util.h 2024-11-11 08:18:35 -08:00
sock_create.c selftests/bpf: Migrate BPF_CGROUP_INET_SOCK_CREATE test cases to prog_tests 2024-10-22 13:41:42 -07:00
sock_destroy.c selftests/bpf: Remove "&>" usage in the selftests 2024-01-29 12:48:32 -08:00
sock_fields.c
sock_iter_batch.c selftests/bpf: Remove "&>" usage in the selftests 2024-01-29 12:48:32 -08:00
sock_post_bind.c selftests/bpf: Migrate *_POST_BIND test cases to prog_tests 2024-10-22 13:41:38 -07:00
socket_cookie.c
socket_helpers.h selftests/bpf: Introduce socket_helpers.h for TC tests 2024-12-20 23:13:31 +01:00
sockmap_basic.c BPF fixes: 2025-02-20 15:37:17 -08:00
sockmap_helpers.h selftests/bpf: Introduce socket_helpers.h for TC tests 2024-12-20 23:13:31 +01:00
sockmap_ktls.c
sockmap_listen.c bpf-next-6.12 2024-09-21 09:27:50 -07:00
sockmap_strp.c selftests/bpf: Add strparser test for bpf 2025-01-29 13:32:48 -08:00
sockopt.c selftests/bpf: Add sockopt case to verify prog_type 2024-04-30 10:43:37 -07:00
sockopt_inherit.c selftests/bpf: Drop struct post_socket_opts 2024-05-28 17:53:03 -07:00
sockopt_multi.c selftests/bpf: Correctly handle optlen > 4096 2023-05-13 16:55:46 -07:00
sockopt_qos_to_cc.c selftests/bpf: Correctly handle optlen > 4096 2023-05-13 16:55:46 -07:00
sockopt_sk.c selftests/bpf: use the same udp and tcp headers in tests under test_progs 2024-12-02 08:41:17 -08:00
spin_lock.c selftests/bpf: Test sleepable global subprogs in atomic contexts 2025-03-15 11:48:25 -07:00
stack_var_off.c
stacktrace_build_id.c selftests/bpf: Replace extract_build_id with read_build_id 2023-03-31 09:40:16 -07:00
stacktrace_build_id_nmi.c selftests/bpf: Skip test when perf_event_open returns EOPNOTSUPP 2024-04-02 16:29:28 +02:00
stacktrace_map.c
stacktrace_map_raw_tp.c
stacktrace_map_skip.c
static_linked.c
struct_ops_autocreate.c selftests/bpf: Test case for SEC("?.struct_ops") 2024-03-06 15:18:16 -08:00
struct_ops_private_stack.c selftests/bpf: Add struct_ops prog private stack tests 2024-11-12 16:26:25 -08:00
subprogs.c
subprogs_extable.c selftests/bpf: add a test for subprogram extables 2023-06-13 15:13:52 -07:00
subskeleton.c selftests/bpf: validate generic bpf_object and subskel APIs work together 2024-10-23 22:15:09 -07:00
summarization.c selftests/bpf: Add tests for extending sleepable global subprogs 2025-03-15 11:48:25 -07:00
syscall.c selftests/bpf: Test outer map update operations in syscall program 2023-12-04 17:50:27 -08:00
tailcalls.c selftests/bpf: Fix freplace_link segfault in tailcalls prog test 2025-02-03 03:33:51 -08:00
task_fd_query_rawtp.c
task_fd_query_tp.c selftests/bpf: use canonical ftrace path 2023-03-13 21:51:30 -07:00
task_kfunc.c selftests/bpf: Add tests for bpf_task_from_vpid() kfunc 2024-10-16 09:21:18 -07:00
task_local_storage.c selftests/bpf: Check for PREEMPTION instead of PREEMPT 2024-11-26 08:55:01 -08:00
task_pt_regs.c
task_under_cgroup.c selftests/bpf: Add selftest for bpf_task_under_cgroup() in sleepable prog 2023-10-17 18:31:27 +02:00
tc_bpf.c selftests/bpf: Add selftest for allow_ptr_leaks 2023-08-23 09:37:29 -07:00
tc_change_tail.c selftests/bpf: Test bpf_skb_change_tail() in TC ingress 2024-12-20 23:13:31 +01:00
tc_helpers.h selftests/bpf: Add selftests for netkit 2023-10-24 16:07:43 -07:00
tc_links.c selftests/bpf: tc_links/tc_opts: Unserialize tests 2025-02-19 09:46:02 -08:00
tc_netkit.c selftests/bpf: Extend netkit tests to validate set {head,tail}room 2025-01-06 09:48:58 +01:00
tc_opts.c selftests/bpf: tc_links/tc_opts: Unserialize tests 2025-02-19 09:46:02 -08:00
tc_redirect.c selftests/bpf: fix some typos in selftests 2024-09-05 13:07:47 -07:00
tcp_custom_syncookie.c selftest: bpf: Test bpf_sk_assign_tcp_reqsk(). 2024-01-23 14:40:24 -08:00
tcp_estats.c
tcp_hdr_options.c selftests/bpf: Correct two typos 2023-07-07 19:36:04 +02:00
tcp_rtt.c selftests/bpf: Fix compiling tcp_rtt.c with musl-libc 2024-07-29 15:05:08 -07:00
tcpbpf_user.c
test_bpf_ma.c selftests/bpf: Cope with 512 bytes limit with bpf_global_percpu_ma 2024-01-03 21:08:26 -08:00
test_bpf_syscall_macro.c selftests/bpf: Enable test_bpf_syscall_macro: Syscall_arg1 on s390 and arm64 2024-09-04 17:06:09 -07:00
test_bpffs.c selftests/bpf: fix test_bpffs 2023-11-01 22:31:41 -07:00
test_bprm_opts.c selftests/bpf: fix some typos in selftests 2024-09-05 13:07:47 -07:00
test_csum_diff.c selftests/bpf: Add a selftest for bpf_csum_diff() 2024-10-30 15:29:59 +01:00
test_global_funcs.c libbpf: feature-detect arg:ctx tag support in kernel 2024-01-17 20:20:05 -08:00
test_ima.c selftests/bpf: Fix IMA test 2023-03-08 11:15:39 -08:00
test_ldsx_insn.c selftests/bpf: Test ldsx with more complex cases 2023-07-27 18:54:17 -07:00
test_local_storage.c selftests/bpf: Test task storage when local_storage->smap is NULL 2023-03-25 19:52:52 -07:00
test_lsm.c selftests/bpf: Add test for lsm tail call 2024-07-29 13:09:41 -07:00
test_mmap_inner_array.c selftests/bpf: Add a test for mmap-able map in map 2024-07-29 15:05:04 -07:00
test_overhead.c
test_profiler.c
test_skb_pkt_end.c selftests/bpf: Validate CHECKSUM_COMPLETE option 2024-06-13 14:29:53 +02:00
test_strncmp.c selftests/bpf: fix some typos in selftests 2024-09-05 13:07:47 -07:00
test_struct_ops_kptr_return.c selftests/bpf: Test returning referenced kptr from struct_ops programs 2025-02-17 18:47:27 -08:00
test_struct_ops_maybe_null.c selftests/bpf: Test PTR_MAYBE_NULL arguments of struct_ops operators. 2024-02-13 15:16:44 -08:00
test_struct_ops_module.c selftests/bpf: Ensure the unsupported struct_ops prog cannot be loaded 2024-07-29 13:09:10 -07:00
test_struct_ops_multi_pages.c selftests/bpf: Test struct_ops maps with a large number of struct_ops program. 2024-03-04 14:09:24 -08:00
test_struct_ops_no_cfi.c selftests/bpf: Test case for lacking CFI stub functions. 2024-02-22 12:26:41 -08:00
test_struct_ops_refcounted.c selftests/bpf: Test struct_ops program with __ref arg calling bpf_tail_call 2025-02-20 18:44:35 -08:00
test_tunnel.c selftests/bpf: test_tunnel: Move ip6tnl tunnel tests to test_progs 2025-03-15 11:48:27 -07:00
test_veristat.c selftests/bpf: Introduce veristat test 2025-02-26 10:45:01 -08:00
test_xdp_veth.c selftests/bpf: test_xdp_veth: Add XDP program on egress test 2025-02-18 13:56:34 -08:00
time_tai.c selftests/bpf: Relax time_tai test for equal timestamps in tai_forward 2023-12-12 15:53:34 -08:00
timer.c selftests/bpf: Test racing between bpf_timer_cancel_and_free and bpf_timer_cancel 2024-02-19 12:26:46 +01:00
timer_crash.c
timer_lockup.c selftests/bpf: skip the timer_lockup test for single-CPU nodes 2024-11-11 08:18:46 -08:00
timer_mim.c
token.c selftests/bpf: Test freplace from user namespace 2025-03-17 13:45:12 -07:00
tp_attach_query.c selftests/bpf: use canonical ftrace path 2023-03-13 21:51:30 -07:00
tp_btf_nullable.c selftests/bpf: Add test for __nullable suffix in tp_btf 2024-09-11 08:56:42 -07:00
trace_ext.c
trace_printk.c selftests/bpf: Add read_trace_pipe_iter function 2024-04-12 18:25:21 +02:00
trace_vprintk.c selftests/bpf: Add read_trace_pipe_iter function 2024-04-12 18:25:21 +02:00
tracing_failure.c selftests/bpf: Ensure fentry prog cannot attach to bpf_spin_{lock,unlcok}() 2024-02-13 11:11:25 -08:00
tracing_struct.c selftests/bpf: Add testcase where 7th argment is struct 2024-07-02 16:02:02 +02:00
trampoline_count.c selftests/bpf: add testcase for TRACING with 6+ arguments 2023-07-13 16:04:56 -07:00
type_cast.c bpf: Add type cast unit tests 2022-11-20 15:45:48 -08:00
udp_limit.c
uninit_stack.c selftests/bpf: Tests for uninitialized stack reads 2023-02-22 12:34:50 -08:00
unpriv_bpf_disabled.c selftests: bpf: Replace sizeof(arr)/sizeof(arr[0]) with ARRAY_SIZE 2024-09-04 12:58:46 -07:00
uprobe.c selftests/bpf: Add tests for symbol versioning for uprobe 2023-09-22 14:27:41 -07:00
uprobe_autoattach.c selftests/bpf: add bpf_for_each(), bpf_for(), and bpf_repeat() macros 2023-03-08 16:19:51 -08:00
uprobe_multi_test.c selftests/bpf: Add threads to consumer test 2024-11-11 08:18:23 -08:00
uprobe_syscall.c asm-generic: fixes for 6.11 2024-08-02 09:14:48 -07:00
uretprobe_stack.c selftests/bpf: add test validating uprobe/uretprobe stack traces 2024-06-25 10:15:38 +09:00
usdt.c selftests/bpf: Test bpf_usdt_arg_size() function 2025-02-26 08:59:44 -08:00
user_ringbuf.c selftests/bpf: fix some typos in selftests 2024-09-05 13:07:47 -07:00
varlen.c
verif_stats.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
verifier.c selftests/bpf: Fix cap_enable_effective() return code 2025-03-15 11:48:57 -07:00
verifier_kfunc_prog_types.c selftests/bpf: Verify calling core kfuncs from BPF_PROG_TYPE_SYCALL 2024-04-05 10:58:10 -07:00
verifier_log.c selftests/bpf: Fix use of uninitialized op_name in log tests 2023-04-13 14:17:02 +02:00
verify_pkcs7_sig.c selftests/bpf: Fix spelling mistake "get_signaure_size" -> "get_signature_size" 2023-12-04 15:59:42 +01:00
vmlinux.c selftests/bpf: Replaces the usage of CHECK calls for ASSERTs in vmlinux 2023-11-21 10:45:26 -08:00
vrf_socket_lookup.c selftests/bpf: Add vrf_socket_lookup tests 2023-06-21 23:48:51 +02:00
wq.c selftests/bpf: Drop an unused local variable 2024-04-30 16:28:58 +02:00
xdp.c
xdp_adjust_frags.c
xdp_adjust_tail.c selftests/bpf: Fix test_xdp_adjust_tail_grow2 selftest on powerpc 2025-01-15 15:45:29 +01:00
xdp_attach.c selftests/bpf: Add testcase for xdp attaching failure tracepoint 2023-08-02 14:21:12 -07:00
xdp_bonding.c selftests/bpf: use the same udp and tcp headers in tests under test_progs 2024-12-02 08:41:17 -08:00
xdp_bpf2bpf.c
xdp_context_test_run.c selftests/bpf: Add test for XDP metadata support in tun driver 2025-03-06 12:31:08 -08:00
xdp_cpumap_attach.c selftests/bpf: Adjust data size to have ETH_HLEN 2025-01-29 08:51:51 -08:00
xdp_dev_bound_only.c selftests/bpf: Offloaded prog after non-offloaded should not cause BUG 2023-09-11 23:18:11 -07:00
xdp_devmap_attach.c selftests/bpf: Adjust data size to have ETH_HLEN 2025-01-29 08:51:51 -08:00
xdp_do_redirect.c selftests/bpf: Migrate test_xdp_redirect.c to test_xdp_do_redirect.c 2025-01-10 17:29:05 -08:00
xdp_flowtable.c selftests/bpf: use the same udp and tcp headers in tests under test_progs 2024-12-02 08:41:17 -08:00
xdp_info.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
xdp_link.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
xdp_metadata.c selftests/bpf: use the same udp and tcp headers in tests under test_progs 2024-12-02 08:41:17 -08:00
xdp_noinline.c
xdp_perf.c
xdp_synproxy.c selftests/bpf: move SYS() macro into the test_progs.h 2023-02-24 17:34:09 -08:00
xdp_vlan.c selftests/bpf: Migrate test_xdp_vlan.sh into test_progs 2025-03-19 16:01:33 -07:00
xdpwall.c selftests/bpf: Update LLVM Phabricator links 2024-01-23 14:40:22 -08:00
xfrm_info.c selftests/bpf: move SYS() macro into the test_progs.h 2023-02-24 17:34:09 -08:00