linux/tools/testing/selftests/bpf/prog_tests
Krister Johansen 84a62b445c selftests/bpf: add a test for subprogram extables
In certain situations a program with subprograms may have a NULL
extable entry.  This should not happen, and when it does, it turns a
single trap into multiple.  Add a test case for further debugging and to
prevent regressions.

The test-case contains three essentially identical versions of the same
test because just one program may not be sufficient to trigger the oops.
This is due to the fact that the items are stored in a binary tree and
have identical values so it's possible to sometimes find the ksym with
the extable.  With 3 copies, this has been reliable on this author's
test systems.

When triggered out of this test case, the oops looks like this:

   BUG: kernel NULL pointer dereference, address: 000000000000000c
   #PF: supervisor read access in kernel mode
   #PF: error_code(0x0000) - not-present page
   PGD 0 P4D 0
   Oops: 0000 [#1] PREEMPT SMP NOPTI
   CPU: 0 PID: 1132 Comm: test_progs Tainted: G           OE      6.4.0-rc3+ #2
   RIP: 0010:cmp_ex_search+0xb/0x30
   Code: cc cc cc cc e8 36 cb 03 00 66 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 55 48 89 e5 48 8b 07 <48> 63 0e 48 01 f1 31 d2 48 39 c8 19 d2 48 39 c8 b8 01 00 00 00 0f
   RSP: 0018:ffffb30c4291f998 EFLAGS: 00010006
   RAX: ffffffffc00b49da RBX: 0000000000000002 RCX: 000000000000000c
   RDX: 0000000000000002 RSI: 000000000000000c RDI: ffffb30c4291f9e8
   RBP: ffffb30c4291f998 R08: ffffffffab1a42d0 R09: 0000000000000001
   R10: 0000000000000000 R11: ffffffffab1a42d0 R12: ffffb30c4291f9e8
   R13: 000000000000000c R14: 000000000000000c R15: 0000000000000000
   FS:  00007fb5d9e044c0(0000) GS:ffff92e95ee00000(0000) knlGS:0000000000000000
   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
   CR2: 000000000000000c CR3: 000000010c3a2005 CR4: 00000000007706f0
   DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
   DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
   PKRU: 55555554
   Call Trace:
    <TASK>
    bsearch+0x41/0x90
    ? __pfx_cmp_ex_search+0x10/0x10
    ? bpf_prog_45a7907e7114d0ff_handle_fexit_ret_subprogs3+0x2a/0x6c
    search_extable+0x3b/0x60
    ? bpf_prog_45a7907e7114d0ff_handle_fexit_ret_subprogs3+0x2a/0x6c
    search_bpf_extables+0x10d/0x190
    ? bpf_prog_45a7907e7114d0ff_handle_fexit_ret_subprogs3+0x2a/0x6c
    search_exception_tables+0x5d/0x70
    fixup_exception+0x3f/0x5b0
    ? look_up_lock_class+0x61/0x110
    ? __lock_acquire+0x6b8/0x3560
    ? __lock_acquire+0x6b8/0x3560
    ? __lock_acquire+0x6b8/0x3560
    kernelmode_fixup_or_oops+0x46/0x110
    __bad_area_nosemaphore+0x68/0x2b0
    ? __lock_acquire+0x6b8/0x3560
    bad_area_nosemaphore+0x16/0x20
    do_kern_addr_fault+0x81/0xa0
    exc_page_fault+0xd6/0x210
    asm_exc_page_fault+0x2b/0x30
   RIP: 0010:bpf_prog_45a7907e7114d0ff_handle_fexit_ret_subprogs3+0x2a/0x6c
   Code: f3 0f 1e fa 0f 1f 44 00 00 66 90 55 48 89 e5 f3 0f 1e fa 48 8b 7f 08 49 bb 00 00 00 00 00 80 00 00 4c 39 df 73 04 31 f6 eb 04 <48> 8b 77 00 49 bb 00 00 00 00 00 80 00 00 48 81 c7 7c 00 00 00 4c
   RSP: 0018:ffffb30c4291fcb8 EFLAGS: 00010282
   RAX: 0000000000000001 RBX: 0000000000000001 RCX: 0000000000000000
   RDX: 00000000cddf1af1 RSI: 000000005315a00d RDI: ffffffffffffffea
   RBP: ffffb30c4291fcb8 R08: ffff92e644bf38a8 R09: 0000000000000000
   R10: 0000000000000000 R11: 0000800000000000 R12: ffff92e663652690
   R13: 00000000000001c8 R14: 00000000000001c8 R15: 0000000000000003
    bpf_trampoline_251255721842_2+0x63/0x1000
    bpf_testmod_return_ptr+0x9/0xb0 [bpf_testmod]
    ? bpf_testmod_test_read+0x43/0x2d0 [bpf_testmod]
    sysfs_kf_bin_read+0x60/0x90
    kernfs_fop_read_iter+0x143/0x250
    vfs_read+0x240/0x2a0
    ksys_read+0x70/0xe0
    __x64_sys_read+0x1f/0x30
    do_syscall_64+0x68/0xa0
    ? syscall_exit_to_user_mode+0x77/0x1f0
    ? do_syscall_64+0x77/0xa0
    ? irqentry_exit+0x35/0xa0
    ? sysvec_apic_timer_interrupt+0x4d/0x90
    entry_SYSCALL_64_after_hwframe+0x72/0xdc
   RIP: 0033:0x7fb5da00a392
   Code: ac 00 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb be 0f 1f 80 00 00 00 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 0f 05 <48> 3d 00 f0 ff ff 77 56 c3 0f 1f 44 00 00 48 83 ec 28 48 89 54 24
   RSP: 002b:00007ffc5b3cab68 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
   RAX: ffffffffffffffda RBX: 000055bee7b8b100 RCX: 00007fb5da00a392
   RDX: 00000000000001c8 RSI: 0000000000000000 RDI: 0000000000000009
   RBP: 00007ffc5b3caba0 R08: 0000000000000000 R09: 0000000000000037
   R10: 000055bee7b8c2a7 R11: 0000000000000246 R12: 000055bee78f1f60
   R13: 00007ffc5b3cae90 R14: 0000000000000000 R15: 0000000000000000
    </TASK>
   Modules linked in: bpf_testmod(OE) nls_iso8859_1 dm_multipath scsi_dh_rdac scsi_dh_emc scsi_dh_alua intel_rapl_msr intel_rapl_common intel_uncore_frequency_common ppdev nfit crct10dif_pclmul crc32_pclmul psmouse ghash_clmulni_intel sha512_ssse3 aesni_intel parport_pc crypto_simd cryptd input_leds parport rapl ena i2c_piix4 mac_hid serio_raw ramoops reed_solomon pstore_blk drm pstore_zone efi_pstore autofs4 [last unloaded: bpf_testmod(OE)]
   CR2: 000000000000000c

Though there may be some variation, depending on which suprogram
triggers the bug.

Signed-off-by: Krister Johansen <kjlx@templeofstupid.com>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/r/4ebf95ec857cd785b81db69f3e408c039ad8408b.1686616663.git.kjlx@templeofstupid.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2023-06-13 15:13:52 -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: Fix __reg_bound_offset 64->32 var_off subreg propagation 2023-03-22 16:49:25 -07:00
arg_parsing.c selftests/bpf: Improve by-name subtest selection logic in prog_tests 2022-04-10 20:08:20 -07:00
atomic_bounds.c
atomics.c bpf, selftests: Use raw_tp program for atomic test 2022-02-28 16:28:40 +01:00
attach_probe.c selftests/bpf: Add test for legacy/perf kprobe/uprobe attach mode 2023-03-06 09:38:08 -08:00
autoattach.c selftests/bpf: Tests libbpf autoattach APIs 2022-08-17 09:42:07 -07:00
autoload.c
bind_perm.c bpf: selftests: Remove libcap usage from test_progs 2022-03-16 15:07:49 -07:00
bloom_filter_map.c
bpf_cookie.c selftests/bpf: Check stack_mprotect() return value 2023-01-28 12:30:08 -08:00
bpf_iter.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
bpf_iter_setsockopt.c
bpf_iter_setsockopt_unix.c
bpf_loop.c selftests/bpf: BPF test_prog selftests for bpf_loop inlining 2022-06-20 17:40:52 -07:00
bpf_mod_race.c selftests/bpf: Refactor prog_tests logging and test execution 2022-04-18 21:22:13 -07:00
bpf_nf.c selftests/bpf: S/iptables/iptables-legacy/ in the bpf_nf and xdp_synproxy test 2022-10-13 08:03:04 -07:00
bpf_obj_id.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
bpf_tcp_ca.c selftests/bpf: Test switching TCP Congestion Control algorithms. 2023-03-22 22:53:25 -07:00
bpf_verif_scale.c selftests/bpf: add bpf_for_each(), bpf_for(), and bpf_repeat() macros 2023-03-08 16:19:51 -08:00
btf.c selftests/bpf: check that modifier resolves after pointer 2023-03-06 11:44:14 -08:00
btf_dedup_split.c selftests/bpf: Tests for btf_dedup_resolve_fwds 2022-11-09 20:45:21 -08:00
btf_dump.c selftests/bpf: Temporarily disable part of btf_dump:var_data test. 2022-12-28 13:57:47 -08:00
btf_endian.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
btf_map_in_map.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
btf_module.c
btf_skc_cls_ingress.c selftests/bpf: Avoid pinning prog when attaching to tc ingress in btf_skc_cls_ingress 2022-11-30 22:47:43 +01:00
btf_split.c
btf_tag.c selftests/bpf: Add a test for btf_type_tag "percpu" 2022-03-05 18:39:51 -08:00
btf_write.c selftests/bpf: Test new enum kflag and enum64 API functions 2022-06-07 10:20:43 -07:00
cb_refs.c selftests/bpf: Add tests for reference state fixes for callbacks 2022-08-24 17:54:40 -07:00
cg_storage_multi.c selftests/bpf: Wait for receive in cg_storage_multi test 2023-04-05 14:44:07 -07:00
cgroup_attach_autodetach.c selftests/bpf: Clean up array_size.cocci warnings 2022-03-15 17:03:10 +01:00
cgroup_attach_multi.c selftests/bpf: Clean up array_size.cocci warnings 2022-03-15 17:03:10 +01:00
cgroup_attach_override.c selftests/bpf: Clean up array_size.cocci warnings 2022-03-15 17:03:10 +01:00
cgroup_getset_retval.c selftests/bpf: Make sure bpf_{g,s}et_retval is exposed everywhere 2022-08-23 16:08:22 -07:00
cgroup_hierarchical_stats.c selftests/bpf: Simplify cgroup_hierarchical_stats selftest 2022-09-23 13:59:08 -07:00
cgroup_iter.c selftests/bpf: Add test for cgroup iterator on a dead cgroup 2022-11-21 17:40:42 +01:00
cgroup_link.c selftests/bpf: Adapt cgroup effective query uapi change 2022-09-21 10:57:13 -07:00
cgroup_skb_sk_lookup.c
cgroup_v1v2.c
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 bpf: Refactor RCU enforcement in the verifier. 2023-03-03 17:42:20 +01:00
check_mtu.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
cls_redirect.c selftests/bpf: tests for using dynptrs to parse skb and xdp buffers 2023-03-01 10:05:19 -08:00
connect_force_port.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
connect_ping.c selftests/bpf: Ensure cgroup/connect{4,6} programs can bind unpriv ICMP ping 2022-09-09 10:40:45 -07:00
core_autosize.c selftests/bpf: Convert some selftests to high-level BPF map APIs 2022-05-13 15:15:21 +02:00
core_extern.c selftests/bpf: add test of __weak unknown virtual __kconfig extern 2022-07-19 09:33:18 -07:00
core_kern.c
core_kern_overflow.c
core_read_macros.c
core_reloc.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
core_retro.c selftests/bpf: Convert some selftests to high-level BPF map APIs 2022-05-13 15:15:21 +02:00
cpu_mask.c
cpumask.c bpf: Remove bpf_cpumask_kptr_get() kfunc 2023-03-16 12:28:30 -07:00
ctx_rewrite.c net: skbuff: move the fields BPF cares about directly next to the offset marker 2023-03-20 21:57:49 -07:00
custom_sec_handlers.c selftests/bpf: Add custom SEC() handling selftest 2022-03-05 09:38:15 -08:00
d_path.c
decap_sanity.c selftests/bpf: move SYS() macro into the test_progs.h 2023-02-24 17:34:09 -08:00
deny_namespace.c selftests/bpf: Add tests verifying bpf lsm userns_create hook 2022-08-16 17:39:59 -04:00
dummy_st_ops.c bpf/selftests: Verify struct_ops prog sleepable behavior 2023-01-25 10:25:57 -08:00
dynptr.c selftests/bpf: tests for using dynptrs to parse skb and xdp buffers 2023-03-01 10:05:19 -08:00
empty_skb.c selftests/bpf: move SYS() macro into the test_progs.h 2023-02-24 17:34:09 -08: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
exhandler.c
fentry_fexit.c
fentry_test.c
fexit_bpf2bpf.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
fexit_sleep.c
fexit_stress.c selftests/bpf: Query BPF_MAX_TRAMP_LINKS using BTF 2023-01-28 12:29:41 -08:00
fexit_test.c
fib_lookup.c selftests/bpf: Fix flaky fib_lookup test 2023-03-09 20:37:55 +01:00
find_vma.c Improve stability of find_vma BPF test 2022-03-08 17:39:29 -08:00
flow_dissector.c selftests/bpf: Fix BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL for empty flow label 2023-02-22 13:13:13 -08:00
flow_dissector_load_bytes.c bpf, test_run: Propagate bpf_flow_dissect's retval to user's bpf_attr.test.retval 2022-08-23 22:48:03 +02:00
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: Convert some selftests to high-level BPF map APIs 2022-05-13 15:15:21 +02: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
get_func_ip_test.c selftests/bpf: Fix get_func_ip offset test for CONFIG_X86_KERNEL_IBT 2022-09-26 20:30:40 -07:00
get_stack_raw_tp.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
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 selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
global_data_init.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
global_func_args.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
hash_large_key.c
hashmap.c libbpf: Hashmap interface update to allow both long and void* keys/values 2022-11-09 20:45:14 -08:00
helper_restricted.c selftests/bpf: Use non-autoloaded programs in few tests 2022-04-19 13:48:20 -07:00
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 selftests/bpf: Add test cases for htab update 2022-08-31 14:10:01 -07:00
inner_array_lookup.c selftests/bpf: Add access_inner_map selftest 2023-06-02 17:04:22 -07:00
iters.c selftests/bpf: implement and test custom testmod_seq iterator 2023-03-08 16:19:51 -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
kfree_skb.c selftests/bpf: Fix kfree_skb on s390x 2023-01-28 12:30:08 -08:00
kfunc_call.c selftests/bpf: Add testcase for static kfunc with unused arg 2023-02-02 00:25:14 +01: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
kprobe_multi_test.c selftests/bpf: Reset err when symbol name already exist in kprobe_multi_test 2023-04-10 09:40:37 -07:00
kprobe_multi_testmod_test.c selftests/bpf: Add kprobe_multi kmod attach api tests 2022-10-25 10:14:51 -07:00
ksyms.c
ksyms_btf.c selftests/bpf: Test passing rdonly mem to global func 2022-04-06 10:32:12 -07:00
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
libbpf_str.c selftests/bpf: Fix test test_libbpf_str/bpf_map_type_str 2022-10-25 23:19:19 -07:00
link_pinning.c
linked_funcs.c selftests/bpf: Add CO-RE relos and SEC("?...") to linked_funcs selftests 2022-04-26 15:41:46 -07:00
linked_list.c bpf: Migrate bpf_rbtree_remove to possibly fail 2023-04-15 17:36:50 -07:00
linked_maps.c
linked_vars.c
load_bytes_relative.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
local_kptr_stash.c selftests/bpf: Add local kptr stashing test 2023-03-10 16:38:05 -08:00
log_buf.c bpf: Small BPF verifier log improvements 2022-03-03 16:54:10 +01:00
log_fixup.c selftests/bpf: add missing __weak kfunc log fixup test 2023-04-18 12:45:10 -07:00
lookup_and_delete.c selftests/bpf: Convert some selftests to high-level BPF map APIs 2022-05-13 15:15:21 +02:00
lookup_key.c selftests/bpf: Add additional tests for bpf_lookup_*_key() 2022-09-21 17:33:42 -07:00
lru_bug.c selftests/bpf: Add test for prealloc_lru_pop bug 2022-08-09 18:46:11 -07:00
lsm_cgroup.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -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 selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
map_lookup_percpu_elem.c selftests/bpf: Fix some bugs in map_lookup_percpu_elem testcase 2022-05-20 15:07:41 -07:00
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
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
module_attach.c selftests/bpf: Add kprobe_multi check to module attach test 2022-10-25 10:14:51 -07:00
module_fentry_shadow.c bpf/selftests: Test fentry attachment to shadowed functions 2023-03-15 18:38:30 -07:00
mptcp.c selftests/bpf: run mptcp in a dedicated netns 2023-02-24 17:34:23 -08:00
nested_trust.c selftests/bpf: Add nested trust selftests suite 2023-01-25 07:57:50 -08:00
netcnt.c selftests/bpf: Use bpf_num_possible_cpus() in per-cpu map allocations 2022-04-06 10:15:53 -07:00
netns_cookie.c
ns_current_pid_tgid.c
obj_name.c selftests/bpf: Clean up array_size.cocci warnings 2022-03-15 17:03:10 +01:00
parse_tcp_hdr_opt.c selftests/bpf: tests for using dynptrs to parse skb and xdp buffers 2023-03-01 10:05:19 -08:00
pe_preserve_elems.c
perf_branches.c Improve perf related BPF tests (sample_freq issue) 2022-03-08 17:39:28 -08:00
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: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08: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 selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
pkt_md_access.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
probe_read_user_str.c
probe_user.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
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 selftests/bpf: Refactor prog_tests logging and test execution 2022-04-18 21:22:13 -07:00
queue_stack_map.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
raw_tp_test_run.c
raw_tp_writable_reject_nbd_invalid.c
raw_tp_writable_test_run.c
rbtree.c bpf: Migrate bpf_rbtree_remove to possibly fail 2023-04-15 17:36:50 -07:00
rcu_read_lock.c bpf: Refactor RCU enforcement in the verifier. 2023-03-03 17:42:20 +01:00
rdonly_maps.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
recursion.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
refcounted_kptr.c bpf: Disable bpf_refcount_acquire kfunc calls until race conditions are fixed 2023-04-24 14:02:11 -07:00
reference_tracking.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
resolve_btfids.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
ringbuf.c selftests/bpf: Add test verifying bpf_ringbuf_reserve retval use in map ops 2022-10-21 19:23:34 -07:00
ringbuf_multi.c selftests/bpf: test eager BPF ringbuf size adjustment logic 2022-07-19 10:01:20 -07:00
section_names.c
select_reuseport.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
send_signal.c bpf/selftests: Fix send_signal tracepoint tests 2023-03-10 10:36:46 -08:00
send_signal_sched_switch.c
setget_sockopt.c selftests/bpf: Calls bpf_setsockopt() on a ktls enabled socket. 2023-01-25 15:10:34 -08:00
signal_pending.c
sk_assign.c selftests/bpf: Fix sk_assign on s390x 2023-01-29 19:16:28 -08:00
sk_lookup.c
sk_storage_tracing.c
skb_ctx.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
skb_helpers.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
skb_load_bytes.c selftests/bpf: Add test for skb_load_bytes 2022-04-20 23:48:34 +02:00
skc_to_unix_sock.c
skeleton.c libbpf: add non-mmapable data section selftest 2022-10-19 16:40:45 -07:00
snprintf.c selftests/bpf: Drop duplicate max/min definitions 2022-04-11 17:18:09 +02:00
snprintf_btf.c
sock_fields.c selftests/bpf: Fix rare segfault in sock_fields prog test 2022-06-23 10:52:12 -07:00
socket_cookie.c
sockmap_basic.c bpf, sockmap: Test FIONREAD returns correct bytes in rx buffer with drops 2023-05-23 16:11:20 +02:00
sockmap_helpers.h bpf, sockmap: Build helper to create connected socket pair 2023-05-23 16:10:58 +02:00
sockmap_ktls.c selftests/bpf: Convert sockmap_ktls test to ASSERT_* macros 2022-09-28 17:33:21 -07:00
sockmap_listen.c bpf, sockmap: Build helper to create connected socket pair 2023-05-23 16:10:58 +02:00
sockopt.c selftests/bpf: Convert sockopt test to ASSERT_* macros 2022-09-28 17:33:29 -07:00
sockopt_inherit.c selftests/bpf: Convert sockopt_inherit test to ASSERT_* macros 2022-09-28 17:33:38 -07:00
sockopt_multi.c selftests/bpf: Convert sockopt_multi test to ASSERT_* macros 2022-09-28 17:33:47 -07:00
sockopt_qos_to_cc.c
sockopt_sk.c selftests/bpf: Fix sockopt_sk selftest 2023-06-06 11:07:26 -07:00
spin_lock.c selftests/bpf: Skip spin lock failure test on s390x 2022-11-18 12:17:54 -08: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: Use read_perf_max_sample_freq() in perf_event_stackmap 2023-04-13 14:32:04 +02:00
stacktrace_map.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
stacktrace_map_raw_tp.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
stacktrace_map_skip.c selftests/bpf: Test skipping stacktrace 2022-03-20 19:16:50 -07:00
static_linked.c
subprogs.c selftests/bpf: Test subprog jit when toggle bpf_jit_harden repeatedly 2022-03-16 15:13:36 -07:00
subprogs_extable.c selftests/bpf: add a test for subprogram extables 2023-06-13 15:13:52 -07:00
subskeleton.c selftests/bpf: Test subskeleton functionality 2022-03-17 23:12:48 -07:00
syscall.c
tailcalls.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
task_fd_query_rawtp.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
task_fd_query_tp.c selftests/bpf: use canonical ftrace path 2023-03-13 21:51:30 -07:00
task_kfunc.c bpf: Remove now-defunct task kfuncs 2023-04-01 09:07:20 -07:00
task_local_storage.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
task_pt_regs.c selftests/bpf: Few fixes for selftests/bpf built in release mode 2022-08-17 22:43:58 +02:00
tc_bpf.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
tc_redirect.c selftests/bpf: move SYS() macro into the test_progs.h 2023-02-24 17:34:09 -08:00
tcp_estats.c selftests/bpf: Convert tcp_estats test to ASSERT_* macros 2022-09-28 17:33:59 -07:00
tcp_hdr_options.c selftests/bpf: Use ASSERT_EQ instead ASSERT_OK for testing memcmp result 2023-03-16 18:12:59 +01:00
tcp_rtt.c selftests/bpf: Convert tcp_rtt test to ASSERT_* macros 2022-09-28 17:34:09 -07:00
tcpbpf_user.c selftests/bpf: Convert tcpbpf_user test to ASSERT_* macros 2022-09-28 17:34:14 -07:00
test_bpf_syscall_macro.c selftests/bpf: Add 6-argument syscall tracing test 2023-01-23 20:53:01 +01:00
test_bpffs.c
test_bprm_opts.c selftests/bpf: Move sys_pidfd_open() into task_local_storage_helpers.h 2022-09-01 12:16:20 -07:00
test_global_funcs.c selftests/bpf: Add global subprog context passing tests 2023-02-17 21:21:50 +01:00
test_ima.c selftests/bpf: Fix IMA test 2023-03-08 11:15:39 -08: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: Check stack_mprotect() return value 2023-01-28 12:30:08 -08:00
test_overhead.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
test_profiler.c
test_skb_pkt_end.c
test_strncmp.c selftests/bpf: Use non-autoloaded programs in few tests 2022-04-19 13:48:20 -07:00
test_tunnel.c selftests/bpf: Test FOU kfuncs for externally controlled ipip devices 2023-04-12 16:40:39 -07:00
time_tai.c selftests/bpf: Add BPF-helper test for CLOCK_TAI access 2022-08-09 09:47:13 -07:00
timer.c selftests/bpf: Add absolute timer test 2023-03-02 22:41:32 -08:00
timer_crash.c selftests/bpf: Add test for bpf_timer overwriting crash 2022-02-11 13:13:04 -08:00
timer_mim.c selftests/bpf: Convert some selftests to high-level BPF map APIs 2022-05-13 15:15:21 +02:00
tp_attach_query.c selftests/bpf: use canonical ftrace path 2023-03-13 21:51:30 -07:00
trace_ext.c
trace_printk.c selftests/bpf: use canonical ftrace path 2023-03-13 21:51:30 -07:00
trace_vprintk.c selftests/bpf: use canonical ftrace path 2023-03-13 21:51:30 -07:00
tracing_struct.c selftests/bpf: Add test to access integer type of variable array 2023-04-19 21:29:39 -07:00
trampoline_count.c Fix typos in selftest/bpf files 2023-02-16 16:56:17 -08:00
type_cast.c bpf: Add type cast unit tests 2022-11-20 15:45:48 -08:00
udp_limit.c selftests/bpf: Convert udp_limit test to ASSERT_* macros 2022-09-28 17:34:19 -07:00
uninit_stack.c selftests/bpf: Tests for uninitialized stack reads 2023-02-22 12:34:50 -08:00
unpriv_bpf_disabled.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
uprobe_autoattach.c selftests/bpf: add bpf_for_each(), bpf_for(), and bpf_repeat() macros 2023-03-08 16:19:51 -08:00
usdt.c selftests/bpf: Set errno when urand_spawn() fails 2023-01-28 12:30:08 -08:00
user_ringbuf.c selftests/bpf: Use __NR_prlimit64 instead of __NR_getrlimit in user_ringbuf test 2023-02-27 09:49:40 -08:00
varlen.c selftests: bpf: Add a test when bpf_probe_read_kernel_str() returns EFAULT 2022-11-11 11:44:46 -08:00
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: verifier/prevent_map_lookup converted to inline assembly 2023-04-22 08:26:58 -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 verify_pkcs7_sig on s390x 2023-01-28 12:30:08 -08:00
vmlinux.c
xdp.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
xdp_adjust_frags.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
xdp_adjust_tail.c selftests/bpf: Fix test_xdp_adjust_tail_grow2 on s390x 2023-01-28 12:30:09 -08:00
xdp_attach.c selftests/bpf: tests for using dynptrs to parse skb and xdp buffers 2023-03-01 10:05:19 -08:00
xdp_bonding.c selftests/bpf: move SYS() macro into the test_progs.h 2023-02-24 17:34:09 -08:00
xdp_bpf2bpf.c
xdp_context_test_run.c
xdp_cpumap_attach.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
xdp_devmap_attach.c selftests/bpf: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:46 -08:00
xdp_do_redirect.c selftests/bpf: Fix merge conflict due to SYS() macro change. 2023-04-13 17:22:48 -07: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 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-04-13 16:04:28 -07:00
xdp_noinline.c
xdp_perf.c selftests/bpf: Store BPF object files with .bpf.o extension 2022-09-02 15:55:37 +02:00
xdp_synproxy.c selftests/bpf: move SYS() macro into the test_progs.h 2023-02-24 17:34:09 -08:00
xdpwall.c
xfrm_info.c selftests/bpf: move SYS() macro into the test_progs.h 2023-02-24 17:34:09 -08:00