// SPDX-License-Identifier: GPL-2.0 #include <linux/bpf.h> #include <bpf/bpf_helpers.h> #include <bpf/bpf_tracing.h> #include <stdbool.h> #ifdef ENABLE_ATOMICS_TESTS bool skip_tests __attribute((__section__(".data"))) = false; #else bool skip_tests = true; #endif SEC("fentry/bpf_fentry_test1") int BPF_PROG(sub, int x) { #ifdef ENABLE_ATOMICS_TESTS int a = 0; int b = __sync_fetch_and_add(&a, 1); /* b is certainly 0 here. Can the verifier tell? */ while (b) continue; #endif return 0; }