diff options
author | Andrii Nakryiko <andrii@kernel.org> | 2021-05-06 22:41:15 -0700 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2021-05-11 15:07:17 -0700 |
commit | 256eab48e70c0eaf5b1b9af83c0588491986c7de (patch) | |
tree | 31f258d11a2de49f180040ebc7f74100c331993c /tools/testing/selftests/bpf/progs/test_rdonly_maps.c | |
parent | libbpf: Add per-file linker opts (diff) | |
download | linux-dev-256eab48e70c0eaf5b1b9af83c0588491986c7de.tar.xz linux-dev-256eab48e70c0eaf5b1b9af83c0588491986c7de.zip |
selftests/bpf: Stop using static variables for passing data to/from user-space
In preparation of skipping emitting static variables in BPF skeletons, switch
all current selftests uses of static variables to pass data between BPF and
user-space to use global variables.
All non-read-only `static volatile` variables become just plain global
variables by dropping `static volatile` part.
Read-only `static volatile const` variables, though, still require `volatile`
modifier, otherwise compiler will ignore whatever values are set from
user-space.
Few static linker tests are using name-conflicting static variables to
validate that static linker still properly handles static variables and
doesn't trip up on name conflicts.
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20210507054119.270888-4-andrii@kernel.org
Diffstat (limited to 'tools/testing/selftests/bpf/progs/test_rdonly_maps.c')
-rw-r--r-- | tools/testing/selftests/bpf/progs/test_rdonly_maps.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/testing/selftests/bpf/progs/test_rdonly_maps.c b/tools/testing/selftests/bpf/progs/test_rdonly_maps.c index ecbeea2df259..fc8e8a34a3db 100644 --- a/tools/testing/selftests/bpf/progs/test_rdonly_maps.c +++ b/tools/testing/selftests/bpf/progs/test_rdonly_maps.c @@ -5,7 +5,7 @@ #include <linux/bpf.h> #include <bpf/bpf_helpers.h> -static volatile const struct { +const struct { unsigned a[4]; /* * if the struct's size is multiple of 16, compiler will put it into @@ -15,11 +15,11 @@ static volatile const struct { char _y; } rdonly_values = { .a = {2, 3, 4, 5} }; -static volatile struct { +struct { unsigned did_run; unsigned iters; unsigned sum; -} res; +} res = {}; SEC("raw_tracepoint/sys_enter:skip_loop") int skip_loop(struct pt_regs *ctx) |