linux/tools/testing/selftests/bpf/prog_tests
Toke Høiland-Jørgensen 2cf7b7ffda selftests/bpf: Add selftest for calling global functions from freplace
Add a selftest that calls a global function with a context object parameter
from an freplace function to check that the program context type is
correctly converted to the freplace target when fetching the context type
from the kernel BTF.

v2:
- Trim includes
- Get rid of global function
- Use __noinline

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Link: https://lore.kernel.org/r/20220606075253.28422-2-toke@redhat.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2022-06-07 10:41:20 -07:00
..
.gitignore
align.c bpf: Small BPF verifier log improvements 2022-03-03 16:54:10 +01: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: Use target-less SEC() definitions in various tests 2022-04-28 23:46:04 +02: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 selftests/bpf: Migrate selftests to bpf_map_create() 2021-11-25 23:37:38 +01:00
bpf_cookie.c selftest/bpf: The test cases of BPF cookie for fentry/fexit/fmod_ret/lsm. 2022-05-10 21:58:40 -07:00
bpf_iter.c selftests/bpf: Add bpf link iter test 2022-05-10 11:20:45 -07:00
bpf_iter_setsockopt.c
bpf_iter_setsockopt_unix.c selftest/bpf: Test batching and bpf_(get|set)sockopt in bpf unix iter. 2022-01-18 15:45:06 -08:00
bpf_loop.c selftests/bpf: Add bpf_loop test 2021-11-30 10:56:28 -08: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: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
bpf_obj_id.c selftests/bpf: Stop using bpf_object__find_program_by_title API. 2021-12-14 14:38:05 -08:00
bpf_tcp_ca.c selftests/bpf: Drop duplicate max/min definitions 2022-04-11 17:18:09 +02:00
bpf_verif_scale.c selftests/bpf: Remove all the uses of deprecated bpf_prog_load_xattr() 2021-12-02 15:23:40 -08:00
btf.c selftests/bpf: Add tests for type tag order validation 2022-04-19 14:02:49 -07:00
btf_dedup_split.c selftests/bpf: Fix a compilation warning 2021-12-08 23:05:26 -08:00
btf_dump.c selftests/bpf: Update btf_dump case for conflicting names 2022-03-01 13:41:48 +01:00
btf_endian.c
btf_map_in_map.c
btf_module.c
btf_skc_cls_ingress.c bpf, selftests: Fix racing issue in btf_skc_cls_ingress test 2021-12-16 21:41:18 +01:00
btf_split.c selftests/bpf: Update btf_dump__new() uses to v1.0+ variant 2021-11-11 16:54:06 -08:00
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 libbpf API function btf__add_type_tag() 2021-11-11 17:41:11 -08:00
cg_storage_multi.c
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: Test bpf_{get,set}_retval behavior with cgroup/sockopt 2022-01-19 12:51:30 -08:00
cgroup_link.c
cgroup_skb_sk_lookup.c
cgroup_v1v2.c
check_mtu.c selftests/bpf: Migrate from bpf_prog_test_run_xattr 2022-02-02 22:31:18 -08:00
cls_redirect.c selftests/bpf: Migrate from bpf_prog_test_run_xattr 2022-02-02 22:31:18 -08:00
connect_force_port.c selftests/bpf: Stop using bpf_object__find_program_by_title API. 2021-12-14 14:38:05 -08: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
core_kern.c selftests/bpf: Test bpf_core_types_are_compat() functionality. 2022-02-04 11:29:01 -08:00
core_kern_overflow.c selftests/bpf: Test bpf_core_types_are_compat() functionality. 2022-02-04 11:29:01 -08:00
core_read_macros.c
core_reloc.c selftests/bpf: Add bpf_core_field_offset() tests 2022-05-09 17:15:32 +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
custom_sec_handlers.c selftests/bpf: Add custom SEC() handling selftest 2022-03-05 09:38:15 -08:00
d_path.c bpf, selftests: Add ringbuf memory type confusion test 2022-01-19 01:27:03 +01:00
dummy_st_ops.c bpf: selftests: Test fentry tracing a struct_ops program 2022-03-30 19:31:30 -07:00
dynptr.c selftests/bpf: Dynptr tests 2022-05-23 14:31:29 -07:00
enable_stats.c
endian.c
exhandler.c selftests/bpf: Add exception handling selftests for tp_bpf program 2021-11-08 22:17:55 +01:00
fentry_fexit.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
fentry_test.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
fexit_bpf2bpf.c selftests/bpf: Add selftest for calling global functions from freplace 2022-06-07 10:41:20 -07:00
fexit_sleep.c selftests/bpf: Add weak/typeless ksym test for light skeleton 2021-10-28 16:30:07 -07:00
fexit_stress.c selftests/bpf: make fexit_stress test run in serial mode 2022-05-11 18:22:21 -07:00
fexit_test.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
find_vma.c Improve stability of find_vma BPF test 2022-03-08 17:39:29 -08:00
flow_dissector.c selftests/bpf: Migrate from bpf_prog_test_run_xattr 2022-02-02 22:31:18 -08:00
flow_dissector_load_bytes.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
flow_dissector_reattach.c selftests/bpf: Use explicit bpf_test_load_program() helper calls 2021-11-07 08:34:24 -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
get_func_args_test.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
get_func_ip_test.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
get_stack_raw_tp.c selftests/bpf: Fix clang compilation errors 2022-03-28 20:00:11 -07:00
get_stackid_cannot_attach.c selftests/bpf: use preferred setter/getter APIs instead of deprecated ones 2022-01-25 17:59:07 -08:00
global_data.c selftests/bpf: Clean up array_size.cocci warnings 2022-03-15 17:03:10 +01:00
global_data_init.c selftests/bpf: Stop using bpf_map__def() API 2022-01-12 17:01:38 -08:00
global_func_args.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
hash_large_key.c
hashmap.c
helper_restricted.c selftests/bpf: Use non-autoloaded programs in few tests 2022-04-19 13:48:20 -07:00
kfree_skb.c selftests/bpf: Migrate from bpf_prog_test_run_xattr 2022-02-02 22:31:18 -08:00
kfunc_call.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
kprobe_multi_test.c selftests/bpf: fix a few clang compilation errors 2022-05-11 12:58:12 -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 selftests/bpf: Do not export subtest as standalone test 2022-02-08 21:17:34 +01:00
l4lb_all.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
legacy_printk.c selftests/bpf: Mix legacy (maps) and modern (vars) BPF in one test 2021-11-25 23:05:23 +01:00
libbpf_probes.c selftests/bpf: Add libbpf feature-probing API selftests 2021-12-17 23:11:13 +01: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_maps.c
linked_vars.c
load_bytes_relative.c selftests/bpf: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08:00
log_buf.c bpf: Small BPF verifier log improvements 2022-03-03 16:54:10 +01:00
log_fixup.c selftests/bpf: Test bpf_map__set_autocreate() and related log fixup logic 2022-04-28 20:03:29 -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
map_init.c
map_kptr.c selftests/bpf: Convert some selftests to high-level BPF map APIs 2022-05-13 15:15:21 +02:00
map_lock.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08: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_ptr.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
metadata.c
migrate_reuseport.c selftests/bpf: Destroy XDP link correctly 2021-11-07 09:14:15 -08:00
mmap.c
modify_return.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
module_attach.c
mptcp.c selftests/bpf: Verify first of struct mptcp_sock 2022-05-20 15:36:48 -07: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
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 selftests/bpf: Migrate all deprecated perf_buffer uses 2021-11-11 16:54:05 -08:00
perf_event_stackmap.c
perf_link.c Improve perf related BPF tests (sample_freq issue) 2022-03-08 17:39:28 -08:00
pinning.c selftests/bpf: Migrate selftests to bpf_map_create() 2021-11-25 23:37:38 +01:00
pkt_access.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
pkt_md_access.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
probe_read_user_str.c
probe_user.c
prog_array_init.c selftests/bpf: Test BPF_MAP_TYPE_PROG_ARRAY static initialization 2021-11-28 22:24:57 -08:00
prog_run_opts.c selftests/bpf: Migrate from bpf_prog_test_run_xattr 2022-02-02 22:31:18 -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: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
raw_tp_test_run.c selftests/bpf: Migrate from bpf_prog_test_run_xattr 2022-02-02 22:31:18 -08:00
raw_tp_writable_reject_nbd_invalid.c selftests/bpf: Convert legacy prog load APIs to bpf_prog_load() 2021-11-07 08:34:23 -08:00
raw_tp_writable_test_run.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
rdonly_maps.c
recursion.c
reference_tracking.c selftests/bpf: Use non-autoloaded programs in few tests 2022-04-19 13:48:20 -07:00
resolve_btfids.c
ringbuf.c selftests/bpf: Add weak/typeless ksym test for light skeleton 2021-10-28 16:30:07 -07:00
ringbuf_multi.c selftests/bpf: Test libbpf's ringbuf size fix up logic 2022-05-09 17:15:32 +02:00
section_names.c
select_reuseport.c selftests/bpf: Remove explicit setrlimit(RLIMIT_MEMLOCK) in main selftests 2021-12-14 22:16:54 +01:00
send_signal.c selftests/bpf: Fix a clang compilation error for send_signal.c 2022-03-11 22:18:13 +01:00
send_signal_sched_switch.c
signal_pending.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
sk_assign.c
sk_lookup.c selftests/bpf: Remove explicit setrlimit(RLIMIT_MEMLOCK) in main selftests 2021-12-14 22:16:54 +01:00
sk_storage_tracing.c
skb_ctx.c selftests/bpf: Migrate from bpf_prog_test_run_xattr 2022-02-02 22:31:18 -08:00
skb_helpers.c selftests/bpf: Migrate from bpf_prog_test_run_xattr 2022-02-02 22:31:18 -08: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
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: Extend verifier and bpf_sock tests for dst_port loads 2022-01-31 12:39:12 -08:00
socket_cookie.c
sockmap_basic.c selftests/bpf: Migrate from bpf_prog_test_run_xattr 2022-02-02 22:31:18 -08:00
sockmap_ktls.c selftests/bpf: Migrate selftests to bpf_map_create() 2021-11-25 23:37:38 +01:00
sockmap_listen.c selftests/bpf: Stop using bpf_map__def() API 2022-01-12 17:01:38 -08:00
sockopt.c selftests/bpf: Convert legacy prog load APIs to bpf_prog_load() 2021-11-07 08:34:23 -08:00
sockopt_inherit.c selftests/bpf: Stop using bpf_object__find_program_by_title API. 2021-12-14 14:38:05 -08:00
sockopt_multi.c selftests/bpf: Remove all the uses of deprecated bpf_prog_load_xattr() 2021-12-02 15:23:40 -08:00
sockopt_qos_to_cc.c
sockopt_sk.c selftests/bpf: Update sockopt_sk test to the use bpf_set_retval 2022-01-19 13:05:13 -08:00
spinlock.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
stack_var_off.c
stacktrace_build_id.c selftests/bpf: Convert some selftests to high-level BPF map APIs 2022-05-13 15:15:21 +02:00
stacktrace_build_id_nmi.c selftests/bpf: Convert some selftests to high-level BPF map APIs 2022-05-13 15:15:21 +02:00
stacktrace_map.c selftests/bpf: Stop using bpf_object__find_program_by_title API. 2021-12-14 14:38:05 -08:00
stacktrace_map_raw_tp.c selftests/bpf: Stop using bpf_object__find_program_by_title API. 2021-12-14 14:38:05 -08: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
subskeleton.c selftests/bpf: Test subskeleton functionality 2022-03-17 23:12:48 -07:00
syscall.c selftests/bpf: Migrate from bpf_prog_test_run_xattr 2022-02-02 22:31:18 -08:00
tailcalls.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
task_fd_query_rawtp.c selftests/bpf: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08:00
task_fd_query_tp.c selftests/bpf: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08:00
task_local_storage.c
task_pt_regs.c selftests/bpf: fix uprobe offset calculation in selftests 2022-01-26 20:04:01 -08:00
tc_bpf.c
tc_redirect.c selftests/bpf: Drop duplicate max/min definitions 2022-04-11 17:18:09 +02:00
tcp_estats.c selftests/bpf: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08:00
tcp_hdr_options.c
tcp_rtt.c selftests/bpf: Remove all the uses of deprecated bpf_prog_load_xattr() 2021-12-02 15:23:40 -08:00
tcpbpf_user.c
test_bpf_syscall_macro.c selftests/bpf: Test BPF_KPROBE_SYSCALL macro 2022-02-08 21:45:06 -08:00
test_bpffs.c selftests/bpf: Prevent out-of-bounds stack access in test_bpffs 2021-11-26 00:15:03 +01:00
test_bprm_opts.c
test_global_funcs.c selftests/bpf: Test passing rdonly mem to global func 2022-04-06 10:32:12 -07:00
test_ima.c selftests/bpf: Check that bpf_kernel_read_file() denies reading IMA policy 2022-03-10 18:57:55 -08:00
test_local_storage.c bpf/selftests: Update local storage selftest for sleepable programs 2021-12-29 17:54:40 -08:00
test_lsm.c
test_overhead.c selftests/bpf: Stop using bpf_object__find_program_by_title API. 2021-12-14 14:38:05 -08:00
test_profiler.c selftests/bpf: Migrate from bpf_prog_test_run_xattr 2022-02-02 22:31:18 -08:00
test_skb_pkt_end.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
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: fix a few clang compilation errors 2022-05-11 12:58:12 -07:00
timer.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -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 explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08:00
trace_ext.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
trace_printk.c selftests/bpf: Add weak/typeless ksym test for light skeleton 2021-10-28 16:30:07 -07:00
trace_vprintk.c selftests/bpf: Add weak/typeless ksym test for light skeleton 2021-10-28 16:30:07 -07:00
trampoline_count.c selftests/bpf: Add missing trampoline program type to trampoline_count test 2022-05-20 16:12:14 -07:00
udp_limit.c
unpriv_bpf_disabled.c selftests/bpf: Fix spelling mistake: "unpriviliged" -> "unprivileged" 2022-05-23 21:59:57 +02:00
uprobe_autoattach.c selftests/bpf: Fix prog_tests uprobe_autoattach compilation error 2022-04-21 18:48:04 +02:00
usdt.c selftests/bpf: Fix usdt_400 test case 2022-05-13 22:07:48 +02:00
varlen.c
verif_stats.c selftests/bpf: Add weak/typeless ksym test for light skeleton 2021-10-28 16:30:07 -07:00
vmlinux.c
xdp.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
xdp_adjust_frags.c selftest/bpf: Check invalid length in test_xdp_update_frags 2022-02-10 17:48:30 -08:00
xdp_adjust_tail.c selftests/bpf: Do not export subtest as standalone test 2022-02-08 21:17:34 +01:00
xdp_attach.c selftests/bpf: Redo the switch to new libbpf XDP APIs 2022-02-03 16:32:25 +01:00
xdp_bonding.c selftests/bpf: Fix misaligned memory accesses in xdp_bonding test 2021-11-26 00:15:03 +01:00
xdp_bpf2bpf.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
xdp_context_test_run.c
xdp_cpumap_attach.c selftests/bpf: Do not export subtest as standalone test 2022-02-08 21:17:34 +01:00
xdp_devmap_attach.c selftests/bpf: Do not export subtest as standalone test 2022-02-08 21:17:34 +01:00
xdp_do_redirect.c selftests/bpf: Add a test for maximum packet size in xdp_do_redirect 2022-03-11 22:01:26 +01:00
xdp_info.c selftests/bpf: Redo the switch to new libbpf XDP APIs 2022-02-03 16:32:25 +01:00
xdp_link.c selftests/bpf: Redo the switch to new libbpf XDP APIs 2022-02-03 16:32:25 +01:00
xdp_noinline.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
xdp_perf.c selftests/bpf: Migrate from bpf_prog_test_run 2022-02-02 22:31:18 -08:00
xdpwall.c