diff options
| author | Alexei Starovoitov <ast@kernel.org> | 2026-10-03 15:04:56 +0000 |
|---|---|---|
| committer | Kumar Kartikeya Dwivedi <memxor@gmail.com> | 2026-10-03 18:33:37 +0200 |
| commit | 1ad83c31abfb589dfe3d20a3e904758616d8662f (patch) | |
| tree | 4e7b80c527d19e059f173bc4aee18a75e643ae71 /include/linux/timerqueue.h | |
| parent | d82cbceca49252bb0cd695326af8206c734e2744 (diff) | |
| download | linux-next-1ad83c31abfb589dfe3d20a3e904758616d8662f.tar.gz linux-next-1ad83c31abfb589dfe3d20a3e904758616d8662f.zip | |
selftests/bpf: Fix data_in_arena test with GCC
GCC doesn't support indirect calls in BPF:
progs/data_in_arena.c: In function 'use_ops':
progs/data_in_arena.c:65:1: error: indirect call in function, which are not supported by eBPF
Call add1() directly when the test is built with GCC. use_ops() still
loads the pointers to data that are next to the pointer to the function
in .data.rel.ro and dereferences them.
Once the build is fixed data_in_arena/arena_var_no_map fails with GCC:
test_arena_var_no_map:FAIL:open unexpected pointer: 0x559fb35d3ca0
GCC doesn't support address spaces. __arena is a type tag only there,
so avar is in .data instead of .addr_space.1 and there is nothing wrong
with the object. Use __arena_global. It puts the variable into
.addr_space.1 with both compilers.
Fixes: 27e24617a83b ("selftests/bpf: Add test for global data in arena")
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20261003150456.168903-1-alexei.starovoitov@gmail.com
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
