linux/tools/testing/selftests/bpf/prog_tests
John Fastabend 1fb5ba29ad bpf: Selftest to verify mixing bpf2bpf calls and tailcalls with insn patch
This adds some extra noise to the tailcall_bpf2bpf4 tests that will cause
verify to patch insns. This then moves around subprog start/end insn
index and poke descriptor insn index to ensure that verify and JIT will
continue to track these correctly.

If done correctly verifier should pass this program same as before and
JIT should emit tail call logic.

Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20210707223848.14580-3-john.fastabend@gmail.com
2021-07-09 12:08:40 +02:00
..
.gitignore
align.c
atomic_bounds.c
atomics.c selftests/bpf: Convert atomics test to light skeleton. 2021-05-19 00:41:56 +02:00
attach_probe.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
autoload.c
bind_perm.c
bpf_iter.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
bpf_obj_id.c
bpf_tcp_ca.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
bpf_verif_scale.c
btf.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
btf_dedup_split.c
btf_dump.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
btf_endian.c
btf_map_in_map.c
btf_skc_cls_ingress.c
btf_split.c
btf_write.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
cg_storage_multi.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
cgroup_attach_autodetach.c
cgroup_attach_multi.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
cgroup_attach_override.c
cgroup_link.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
cgroup_skb_sk_lookup.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
check_mtu.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
cls_redirect.c
connect_force_port.c
core_autosize.c
core_extern.c
core_read_macros.c
core_reloc.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
core_retro.c
cpu_mask.c
d_path.c
enable_stats.c
endian.c
fentry_fexit.c selftests/bpf: Convert few tests to light skeleton. 2021-05-19 00:41:44 +02:00
fentry_test.c selftests/bpf: Convert few tests to light skeleton. 2021-05-19 00:41:44 +02:00
fexit_bpf2bpf.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
fexit_sleep.c selftests/bpf: Convert few tests to light skeleton. 2021-05-19 00:41:44 +02:00
fexit_stress.c
fexit_test.c selftests/bpf: Convert few tests to light skeleton. 2021-05-19 00:41:44 +02:00
flow_dissector.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
flow_dissector_load_bytes.c
flow_dissector_reattach.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
for_each.c
get_stack_raw_tp.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
get_stackid_cannot_attach.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
global_data.c
global_data_init.c
global_func_args.c
hash_large_key.c
hashmap.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
kfree_skb.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
kfunc_call.c selftests/bpf: Convert few tests to light skeleton. 2021-05-19 00:41:44 +02:00
ksyms.c
ksyms_btf.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
ksyms_module.c selftests/bpf: Convert few tests to light skeleton. 2021-05-19 00:41:44 +02:00
l4lb_all.c
link_pinning.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
linked_funcs.c
linked_maps.c
linked_vars.c
load_bytes_relative.c
lookup_and_delete.c selftests/bpf: Add bpf_lookup_and_delete_elem tests 2021-05-24 13:30:52 -07:00
map_init.c
map_lock.c
map_ptr.c
metadata.c
migrate_reuseport.c selftests/bpf: Fix selftests build with old system-wide headers 2021-06-17 13:05:10 +02:00
mmap.c
modify_return.c
module_attach.c
ns_current_pid_tgid.c
obj_name.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
pe_preserve_elems.c
perf_branches.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
perf_buffer.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
perf_event_stackmap.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
pinning.c
pkt_access.c
pkt_md_access.c
probe_read_user_str.c
probe_user.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
prog_run_xattr.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
queue_stack_map.c
raw_tp_test_run.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
raw_tp_writable_reject_nbd_invalid.c
raw_tp_writable_test_run.c
rdonly_maps.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
recursion.c
reference_tracking.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
resolve_btfids.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
ringbuf.c selftests/bpf: Fix ringbuf test fetching map FD 2021-06-17 18:23:55 -07:00
ringbuf_multi.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
section_names.c
select_reuseport.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
send_signal.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
send_signal_sched_switch.c
signal_pending.c
sk_assign.c
sk_lookup.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
sk_storage_tracing.c
skb_ctx.c
skb_helpers.c
skeleton.c selftests/bpf: Stop using static variables for passing data to/from user-space 2021-05-11 15:07:17 -07:00
snprintf.c
snprintf_btf.c
sock_fields.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
socket_cookie.c
sockmap_basic.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
sockmap_ktls.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
sockmap_listen.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-06-29 15:45:27 -07:00
sockopt.c
sockopt_inherit.c
sockopt_multi.c
sockopt_sk.c
spinlock.c
stack_var_off.c
stacktrace_build_id.c
stacktrace_build_id_nmi.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
stacktrace_map.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
stacktrace_map_raw_tp.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
static_linked.c selftests/bpf: Validate skeleton gen handles skipped fields 2021-05-13 17:23:57 -07:00
subprogs.c
syscall.c selftests/bpf: Test for btf_load command. 2021-05-19 00:33:40 +02:00
tailcalls.c bpf: Selftest to verify mixing bpf2bpf calls and tailcalls with insn patch 2021-07-09 12:08:40 +02:00
task_fd_query_rawtp.c
task_fd_query_tp.c
task_local_storage.c
tc_bpf.c libbpf: Add selftests for TC-BPF management API 2021-05-17 17:52:20 +02:00
tc_redirect.c selftests/bpf: Add test for l3 use of bpf_redirect_peer 2021-05-25 18:00:28 +02:00
tcp_estats.c
tcp_hdr_options.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
tcp_rtt.c
tcpbpf_user.c
test_bpffs.c
test_bprm_opts.c
test_global_funcs.c
test_ima.c
test_local_storage.c
test_lsm.c
test_overhead.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
test_profiler.c
test_skb_pkt_end.c
tp_attach_query.c
trace_ext.c
trace_printk.c selftests/bpf: Convert test trace_printk to lskel. 2021-05-19 00:42:20 +02:00
trampoline_count.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
udp_limit.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
varlen.c
vmlinux.c
xdp.c
xdp_adjust_tail.c
xdp_attach.c
xdp_bpf2bpf.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
xdp_cpumap_attach.c
xdp_devmap_attach.c
xdp_info.c
xdp_link.c selftests/bpf: Turn on libbpf 1.0 mode and fix all IS_ERR checks 2021-05-25 17:32:35 -07:00
xdp_noinline.c
xdp_perf.c