linux/tools/testing/selftests/bpf/prog_tests
Andrii Nakryiko 9a5f25ad30 selftests/bpf: Fix sample_cnt shared between two threads
Make sample_cnt volatile to fix possible selftests failure due to compiler
optimization preventing latest sample_cnt value to be visible to main thread.
sample_cnt is incremented in background thread, which is then joined into main
thread. So in terms of visibility sample_cnt update is ok. But because it's
not volatile, compiler might make optimizations that would prevent main thread
to see latest updated value. Fix this by marking global variable volatile.

Fixes: cb1c9ddd55 ("selftests/bpf: Add BPF ringbuf selftests")
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Song Liu <songliubraving@fb.com>
Link: https://lore.kernel.org/bpf/20200602050349.215037-1-andriin@fb.com
2020-06-02 11:54:56 -07:00
..
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
align.c selftests/bpf: Move test_align under test_progs 2020-05-16 01:18:14 +02:00
attach_probe.c selftests/bpf: Fix test_attach_probe 2019-12-19 16:14:08 +01:00
bpf_iter.c tools/bpf: selftests: Add bpf_iter selftests 2020-05-09 17:05:27 -07:00
bpf_obj_id.c selftests/bpf: Test bpf_link's get_next_id, get_fd_by_id, and get_obj_info 2020-04-28 17:27:08 -07:00
bpf_tcp_ca.c bpf: Add tests for bpf_sk_storage to bpf_tcp_ca 2020-03-23 20:51:55 +01:00
bpf_verif_scale.c selftests/bpf: Add a test for a large global function 2020-01-10 17:20:07 +01:00
btf_dump.c selftests/bpf: Fix mix of tabs and spaces 2020-03-20 21:46:12 +01:00
btf_map_in_map.c libbpf: Add BTF-defined map-in-map support 2020-04-28 17:35:03 -07:00
cgroup_attach_autodetach.c selftests/bpf: Declare bpf_log_buf variables as static 2020-03-02 17:00:41 -08:00
cgroup_attach_multi.c selftests/bpf: Declare bpf_log_buf variables as static 2020-03-02 17:00:41 -08:00
cgroup_attach_override.c selftests/bpf: Declare bpf_log_buf variables as static 2020-03-02 17:00:41 -08:00
cgroup_link.c selftests/bpf: Test FD-based cgroup attachment 2020-03-30 17:36:41 -07:00
cgroup_skb_sk_lookup.c selftests/bpf: Test for sk helpers in cgroup skb 2020-05-14 18:41:08 -07:00
cls_redirect.c selftests/bpf: Add cls_redirect classifier 2020-04-26 10:00:36 -07:00
connect_force_port.c bpf, testing: Add get{peer, sock}name selftests to test_progs 2020-05-19 11:32:04 -07:00
core_extern.c libbpf: Allow to augment system Kconfig through extra optional config 2019-12-18 17:33:36 -08:00
core_reloc.c selftests/bpf: Fix invalid memory reads in core_relo selftest 2020-04-28 19:48:05 -07:00
cpu_mask.c selftests: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
enable_stats.c bpf: Add selftest for BPF_ENABLE_STATS 2020-05-01 10:36:32 -07:00
fentry_fexit.c bpf: Add test ops for BPF_PROG_TYPE_TRACING 2020-03-04 13:41:06 -08:00
fentry_test.c bpf: Add test ops for BPF_PROG_TYPE_TRACING 2020-03-04 13:41:06 -08:00
fexit_bpf2bpf.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
fexit_stress.c selftests/bpf: Add stress test for maximum number of progs 2019-11-15 23:43:53 +01:00
fexit_test.c bpf: Add test ops for BPF_PROG_TYPE_TRACING 2020-03-04 13:41:06 -08:00
flow_dissector_load_bytes.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
flow_dissector_reattach.c selftests/bpf: Add tests for attaching bpf_link to netns 2020-06-01 15:21:03 -07:00
flow_dissector.c selftests/bpf: Extend test_flow_dissector to cover link creation 2020-06-01 15:21:03 -07:00
get_stack_raw_tp.c bpf: Test_progs, add test to catch retval refine error handling 2020-03-30 15:00:30 -07:00
global_data_init.c selftests: Add test for overriding global data value before load 2020-03-30 01:17:35 +02:00
global_data.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
hashmap.c selftests/bpf: Convert test_hashmap into test_progs test 2020-04-28 19:48:05 -07:00
kfree_skb.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
l4lb_all.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
link_pinning.c selftests/bpf: Add link pinning selftests 2020-03-02 22:06:27 -08:00
map_lock.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
mmap.c bpf: Prevent mmap()'ing read-only maps as writable 2020-05-20 20:21:53 -07:00
modify_return.c bpf: Add selftests for BPF_MODIFY_RETURN 2020-03-04 13:41:06 -08:00
ns_current_pid_tgid.c selftests/bpf: Fix bpf_link leak in ns_current_pid_tgid selftest 2020-04-28 19:48:05 -07:00
obj_name.c selftests: bpf: break up test_progs - misc 2019-03-02 11:10:40 -08:00
perf_branches.c selftests/bpf: Add bpf_read_branch_records() selftest 2020-02-19 15:01:07 -08:00
perf_buffer.c selftests/bpf: Disable ASAN instrumentation for mmap()'ed memory read 2020-04-28 19:48:05 -07:00
pinning.c selftests/bpf: Add tests for automatic map unpinning on load failure 2019-11-10 19:26:30 -08:00
pkt_access.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
pkt_md_access.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
probe_user.c libbpf: Add generic bpf_program__attach() 2019-12-15 15:58:04 -08:00
prog_run_xattr.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
queue_stack_map.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
raw_tp_writable_reject_nbd_invalid.c selftests: bpf: test writable buffers in raw tps 2019-04-26 19:04:19 -07:00
raw_tp_writable_test_run.c selftests: bpf: test writable buffers in raw tps 2019-04-26 19:04:19 -07:00
rdonly_maps.c libbpf: Expose BPF program's function name 2019-12-15 15:58:05 -08:00
reference_tracking.c libbpf: Make DECLARE_LIBBPF_OPTS macro strictly a variable declaration 2019-10-22 21:35:03 +02:00
ringbuf_multi.c selftests/bpf: Add BPF ringbuf selftests 2020-06-01 14:38:22 -07:00
ringbuf.c selftests/bpf: Fix sample_cnt shared between two threads 2020-06-02 11:54:56 -07:00
section_names.c libbpf: Always specify expected_attach_type on program load if supported 2020-04-15 13:22:43 +02:00
select_reuseport.c selftests: bpf: Enable UDP sockmap reuseport tests 2020-03-09 22:34:59 +01:00
send_signal_sched_switch.c selftests/bpf: Add send_signal_sched_switch test 2020-03-05 14:02:41 -08:00
send_signal.c selftests/bpf: Fix test_progs send_signal flakiness with nmi mode 2020-01-16 13:28:57 -08:00
signal_pending.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
sk_assign.c selftests/bpf: Use SOCKMAP for server sockets in bpf_sk_assign test 2020-04-29 23:31:00 +02:00
skb_ctx.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
skb_helpers.c bpf, selftests: Test probe_* helpers from SCHED_CLS 2020-06-01 14:38:21 -07:00
skeleton.c libbpf: Put Kconfig externs into .kconfig section 2019-12-18 17:33:36 -08:00
sockmap_basic.c bpf, selftests: Add sk_msg helpers load and attach test 2020-06-01 14:38:20 -07:00
sockmap_ktls.c selftests/bpf: Fix build of sockmap_ktls.c 2020-02-20 01:17:24 +01:00
sockmap_listen.c selftests/bpf: Fix spurious failures in accept due to EAGAIN 2020-03-13 21:37:06 +01:00
sockopt_inherit.c selftests/bpf: test_progs: Don't leak server_fd in test_sockopt_inherit 2019-10-02 00:58:07 +02:00
sockopt_multi.c selftests/bpf: test_progs: convert test_sockopt_multi 2019-09-06 09:59:05 -07:00
sockopt_sk.c selftests/bpf: test_progs: convert test_sockopt_sk 2019-09-06 09:59:05 -07:00
sockopt.c selftests/bpf: test_progs: convert test_sockopt 2019-09-06 09:59:05 -07:00
spinlock.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
stacktrace_build_id_nmi.c selftests/bpf: Skip perf hw events test if the setup disabled it 2020-01-20 23:26:58 +01:00
stacktrace_build_id.c bpftool, selftests/bpf: Embed object file inside skeleton 2019-12-17 22:16:35 -08:00
stacktrace_map_raw_tp.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
stacktrace_map.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
tailcalls.c bpf, testing: Add various tail call test cases 2019-11-24 17:04:12 -08:00
task_fd_query_rawtp.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
task_fd_query_tp.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
tcp_estats.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
tcp_rtt.c selftests/bpf: Generalize helpers to control background listener 2020-05-09 00:48:20 +02:00
test_global_funcs.c selftests/bpf: Add unit tests for global functions 2020-01-10 17:20:07 +01:00
test_lsm.c bpf, lsm: Fix the file_mprotect LSM test. 2020-04-02 19:42:52 -07:00
test_overhead.c selftest/bpf: Fmod_ret prog and implement test_overhead as part of bench 2020-05-13 12:19:38 -07:00
tp_attach_query.c selftests: bpf: initialize bpf_object pointers where needed 2019-05-09 15:53:56 -07:00
trampoline_count.c selftests/bpf: Fix trampoline_count clean up logic 2020-02-20 18:03:10 -08:00
vmlinux.c selftests/bpf: Fix nanosleep for real this time 2020-03-17 19:29:12 +01:00
xdp_adjust_tail.c selftests/bpf: Xdp_adjust_tail add grow tail tests 2020-05-14 21:21:57 -07:00
xdp_attach.c selftests/bpf: Check for correct program attach/detach in xdp_attach test 2020-04-15 13:26:08 +02:00
xdp_bpf2bpf.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
xdp_devmap_attach.c selftest: Add tests for XDP programs in devmap entries 2020-06-01 14:48:32 -07:00
xdp_info.c selftests/bpf: Add test for bpf_get_link_xdp_id 2020-04-08 01:35:24 +02:00
xdp_noinline.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
xdp_perf.c selftests: bpf: Add xdp_perf test 2019-12-13 13:09:32 -08:00
xdp.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00