linux-stable/tools/testing/selftests/bpf/prog_tests
Felix Maurer 8c0be0631d selftests: bpf: Fix bind on used port
The bind_perm BPF selftest failed when port 111/tcp was already in use
during the test. To fix this, the test now runs in its own network name
space.

To use unshare, it is necessary to reorder the includes. The style of
the includes is adapted to be consistent with the other prog_tests.

v2: Replace deprecated CHECK macro with ASSERT_OK

Fixes: 8259fdeb30 ("selftests/bpf: Verify that rebinding to port < 1024 from BPF works")
Signed-off-by: Felix Maurer <fmaurer@redhat.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Reviewed-by: Jakub Sitnicki <jakub@cloudflare.com>
Link: https://lore.kernel.org/bpf/551ee65533bb987a43f93d88eaf2368b416ccd32.1642518457.git.fmaurer@redhat.com
2022-01-20 14:32:00 -08:00
..
.gitignore
align.c bpf: Right align verifier states in verifier logs. 2021-12-16 19:43:49 -08:00
atomic_bounds.c selftests/bpf: Add missing cleanup in atomic_bounds test 2021-02-08 17:55:01 -08:00
atomics.c selftests/bpf: Update test names for xchg and cmpxchg 2021-12-02 12:10:15 -08:00
attach_probe.c selftests/bpf: Fix attach_probe in parallel mode 2021-10-27 11:59:02 -07:00
autoload.c
bind_perm.c selftests: bpf: Fix bind on used port 2022-01-20 14:32:00 -08:00
bloom_filter_map.c selftests/bpf: Migrate selftests to bpf_map_create() 2021-11-25 23:37:38 +01:00
bpf_cookie.c selftests/bpf: Add bpf_cookie selftests for high-level APIs 2021-08-17 00:45:08 +02:00
bpf_iter.c bpf: Fix the test_task_vma selftest to support output shorter than 1 kB 2021-12-03 23:49:14 +01:00
bpf_iter_setsockopt.c selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07:00
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: Add test for race in btf_try_get_module 2022-01-18 14:27:39 -08:00
bpf_nf.c selftests/bpf: Add test for unstable CT lookup API 2022-01-18 14:26:42 -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: Fix segfault in bpf_tcp_ca 2021-12-13 13:36:08 -08: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: Remove explicit setrlimit(RLIMIT_MEMLOCK) in main selftests 2021-12-14 22:16:54 +01:00
btf_dedup_split.c selftests/bpf: Fix a compilation warning 2021-12-08 23:05:26 -08:00
btf_dump.c selftests/bpf: Fix UBSan complaint about signed __int128 overflow 2021-11-26 00:15:03 +01:00
btf_endian.c selftests/bpf: Use __BYTE_ORDER__ 2021-10-25 20:39:42 -07:00
btf_map_in_map.c selftests/bpf: Sync RCU before unloading bpf_testmod 2021-01-12 17:23:47 -08:00
btf_module.c selftests/bpf: Test btf__load_vmlinux_btf/btf__load_module_btf APIs 2021-08-16 18:38:52 -07:00
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 C test for btf_type_tag 2021-11-11 17:41:11 -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 selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07:00
cgroup_attach_autodetach.c selftests/bpf: Use explicit bpf_test_load_program() helper calls 2021-11-07 08:34:24 -08:00
cgroup_attach_multi.c selftests/bpf: Change bpf_prog_attach_xattr() to bpf_prog_attach_opts() 2022-01-12 17:01:37 -08:00
cgroup_attach_override.c selftests/bpf: Use explicit bpf_test_load_program() helper calls 2021-11-07 08:34:24 -08: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 selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -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
cgroup_v1v2.c selftests/bpf: Make cgroup_v1v2 use its own port 2021-10-08 15:10:43 -07:00
check_mtu.c selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07:00
cls_redirect.c bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE 2021-01-20 14:23:00 -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: Switch to new btf__type_cnt/btf__raw_data APIs 2021-10-22 16:09:14 -07:00
core_extern.c
core_kern.c selftests/bpf: Additional test for CO-RE in the kernel. 2021-12-02 11:18:36 -08:00
core_read_macros.c selftests/bpf: Add tests for user- and non-CO-RE BPF_CORE_READ() variants 2021-01-08 13:39:24 -08:00
core_reloc.c selftests/bpf: Stop using bpf_object__find_program_by_title API. 2021-12-14 14:38:05 -08:00
core_retro.c
cpu_mask.c
d_path.c bpf/selftests: Test bpf_d_path on rdonly_mem. 2022-01-06 15:20:49 -08:00
dummy_st_ops.c selftests/bpf: Add test cases for struct_ops prog 2021-11-01 14:10:00 -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: Add weak/typeless ksym test for light skeleton 2021-10-28 16:30:07 -07:00
fentry_test.c selftests/bpf: Add weak/typeless ksym test for light skeleton 2021-10-28 16:30:07 -07:00
fexit_bpf2bpf.c selftests/bpf: Stop using bpf_object__find_program_by_title API. 2021-12-14 14:38:05 -08: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: Convert legacy prog load APIs to bpf_prog_load() 2021-11-07 08:34:23 -08:00
fexit_test.c selftests/bpf: Add weak/typeless ksym test for light skeleton 2021-10-28 16:30:07 -07:00
find_vma.c selftests/bpf: Add tests for bpf_find_vma 2021-11-07 11:54:51 -08:00
flow_dissector.c selftests/bpf: Stop using bpf_map__def() API 2022-01-12 17:01:38 -08:00
flow_dissector_load_bytes.c selftests/bpf: Use explicit bpf_test_load_program() helper calls 2021-11-07 08:34:24 -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: Add arraymap test for bpf_for_each_map_elem() helper 2021-02-26 13:23:53 -08:00
get_branch_snapshot.c selftests/bpf: Guess function end for test_get_branch_snapshot 2021-10-25 21:43:05 -07:00
get_func_args_test.c selftests/bpf: Add tests for get_func_[arg|ret|arg_cnt] helpers 2021-12-13 09:25:59 -08:00
get_func_ip_test.c libbpf: Allow decimal offset for kprobes 2021-07-22 20:09:16 -07:00
get_stack_raw_tp.c selftests/bpf: Stop using bpf_object__find_program_by_title API. 2021-12-14 14:38:05 -08: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 selftests/bpf: Stop using bpf_map__def() API 2022-01-12 17:01:38 -08: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: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08:00
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
helper_restricted.c selftests/bpf: Add tests for restricted helpers 2021-11-15 20:37:11 -08:00
kfree_skb.c selftests/bpf: Remove all the uses of deprecated bpf_prog_load_xattr() 2021-12-02 15:23:40 -08:00
kfunc_call.c selftests/bpf: Extend kfunc selftests 2022-01-18 14:26:42 -08:00
ksyms.c
ksyms_btf.c bpf/selftests: Test PTR_TO_RDONLY_MEM 2021-12-18 13:27:41 -08:00
ksyms_module.c selftests/bpf: Add weak/typeless ksym test for light skeleton 2021-10-28 16:30:07 -07:00
l4lb_all.c selftests/bpf: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -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 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 selftests/bpf: Add function linking selftest 2021-04-23 14:05:27 -07:00
linked_maps.c selftests/bpf: Add map linking selftest 2021-04-23 14:05:27 -07:00
linked_vars.c selftests/bpf: Add global variables linking selftest 2021-04-23 14:05:27 -07:00
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 selftests/bpf: Add test for libbpf's custom log_buf behavior 2021-12-10 15:29:18 -08:00
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 selftests/bpf: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08:00
map_ptr.c selftests/bpf: Convert map_ptr_kern test to use light skeleton. 2021-12-02 11:18:36 -08:00
metadata.c
migrate_reuseport.c selftests/bpf: Destroy XDP link correctly 2021-11-07 09:14:15 -08:00
mmap.c selftests/bpf: mmap: Use runtime page size 2021-04-08 23:54:48 -07:00
modify_return.c selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07:00
module_attach.c bpf/selftests: Add test for writable bare tracepoint 2021-10-08 13:22:57 -07:00
netcnt.c selftests/bpf: Make netcnt selftests serial to avoid spurious failures 2021-11-03 15:43:09 +01:00
netns_cookie.c selftests/bpf: Test for get_netns_cookie 2021-08-24 14:17:53 -07:00
ns_current_pid_tgid.c selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07:00
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: Migrate all deprecated perf_buffer uses 2021-11-11 16:54:05 -08: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
perf_link.c selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07:00
pinning.c selftests/bpf: Migrate selftests to bpf_map_create() 2021-11-25 23:37:38 +01:00
pkt_access.c selftests/bpf: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08:00
pkt_md_access.c selftests/bpf: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08:00
probe_read_user_str.c
probe_user.c selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07:00
prog_array_init.c selftests/bpf: Test BPF_MAP_TYPE_PROG_ARRAY static initialization 2021-11-28 22:24:57 -08: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 selftests/bpf: Fix misaligned memory access in queue_stack_map test 2021-11-26 00:15:03 +01:00
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 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: Convert legacy prog load APIs to bpf_prog_load() 2021-11-07 08:34:23 -08:00
rdonly_maps.c selftests/bpf: Switch to ".bss"/".rodata"/".data" lookups for internal maps 2021-10-21 17:10:11 -07:00
recursion.c selftest/bpf: Switch recursion test to use htab_map_delete_elem 2021-10-06 12:34:02 -07:00
reference_tracking.c selftests/bpf: Switch SEC("classifier*") usage to a strict SEC("tc") 2021-09-28 13:51:19 -07:00
resolve_btfids.c selftests/bpf: Normalize selftest entry points 2021-10-25 14:45:45 -07:00
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: Migrate selftests to bpf_map_create() 2021-11-25 23:37:38 +01: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 flaky send_signal test 2021-08-17 14:08:30 -07:00
send_signal_sched_switch.c selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07:00
signal_pending.c selftests/bpf: Use explicit bpf_test_load_program() helper calls 2021-11-07 08:34:24 -08:00
sk_assign.c selftests/bpf: Switch SEC("classifier*") usage to a strict SEC("tc") 2021-09-28 13:51:19 -07:00
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 selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07:00
skb_ctx.c selftests/bpf: Fix bpf_object leak in skb_ctx selftest 2021-11-07 09:14:15 -08:00
skb_helpers.c selftests/bpf: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08:00
skc_to_unix_sock.c selftests/bpf: Test bpf_skc_to_unix_sock() helper 2021-10-21 15:11:06 -07:00
skeleton.c selftests/bpf: Demonstrate use of custom .rodata/.data sections 2021-10-21 17:10:10 -07:00
snprintf.c selftests/bpf: Normalize selftest entry points 2021-10-25 14:45:45 -07:00
snprintf_btf.c selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07:00
sock_fields.c selftests/bpf: Remove explicit setrlimit(RLIMIT_MEMLOCK) in main selftests 2021-12-14 22:16:54 +01:00
socket_cookie.c selftests/bpf: Add a selftest for the tracing bpf_get_socket_cookie 2021-02-11 17:44:41 -08:00
sockmap_basic.c selftests/bpf: Migrate selftests to bpf_map_create() 2021-11-25 23:37:38 +01: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 selftests/bpf: Add tests for {set|get} socket option from setsockopt BPF 2021-08-20 01:10:01 +02:00
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: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08:00
stack_var_off.c selftest/bpf: Add test for var-offset stack access 2021-02-10 11:05:34 -08:00
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: 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
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 selftests/bpf: Stop using bpf_map__def() API 2022-01-12 17:01:38 -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 selftests/bpf: Test deadlock from recursive bpf_task_storage_[get|delete] 2021-02-26 11:51:48 -08:00
task_pt_regs.c selftests/bpf: Fix build of task_pt_regs test for arm64 2021-09-07 17:23:19 +02:00
tc_bpf.c libbpf: Add selftests for TC-BPF management API 2021-05-17 17:52:20 +02:00
tc_redirect.c bpf/selftests: Fix namespace mount setup in tc_redirect 2022-01-05 13:35:18 +01: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 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 selftests/bpf: Remove all the uses of deprecated bpf_prog_load_xattr() 2021-12-02 15:23:40 -08:00
tcpbpf_user.c
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: Remove all the uses of deprecated bpf_prog_load_xattr() 2021-12-02 15:23:40 -08:00
test_ima.c selftests/bpf: Fix memory leak in test_ima 2021-10-28 16:30:07 -07: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 selftests/bpf: Use ASSERT macros in lsm test 2021-04-25 21:09:02 -07:00
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
test_skb_pkt_end.c
test_strncmp.c selftests/bpf: Add test cases for bpf_strncmp() 2021-12-11 17:40:23 -08:00
timer.c selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07:00
timer_mim.c selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07: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
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: Stop using bpf_object__find_program_by_title API. 2021-12-14 14:38:05 -08: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
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: Fix misaligned accesses in xdp and xdp_bpf2bpf tests 2021-11-26 00:15:03 +01:00
xdp_adjust_tail.c bpf: selftests: Get rid of CHECK macro in xdp_adjust_tail.c 2022-01-20 13:54:57 -08:00
xdp_attach.c selftests/bpf: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08: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 bpf: selftests: Get rid of CHECK macro in xdp_bpf2bpf.c 2022-01-20 13:54:57 -08:00
xdp_context_test_run.c selftests/bpf: Add test for xdp_md context in BPF_PROG_TEST_RUN 2021-07-07 19:51:13 -07:00
xdp_cpumap_attach.c selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07:00
xdp_devmap_attach.c selftests/bpf: Normalize selftest entry points 2021-10-25 14:45:45 -07:00
xdp_info.c selftests/bpf: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08:00
xdp_link.c selfetest/bpf: Make some tests serial 2021-10-08 15:17:00 -07:00
xdp_noinline.c
xdp_perf.c selftests/bpf: Use explicit bpf_prog_test_load() calls everywhere 2021-11-07 08:34:23 -08:00
xdpwall.c bpf: selftest: A bpf prog that has a 32bit scalar spill 2021-09-26 13:07:28 -07:00