linux-stable/tools/testing/selftests/bpf/bpf_testmod
Jiri Olsa 65eb006d85 bpf: Move kernel test kfuncs to bpf_testmod
Moving kernel test kfuncs into bpf_testmod kernel module, and adding
necessary init calls and BTF IDs records.

We need to keep following structs in kernel:
  struct prog_test_ref_kfunc
  struct prog_test_member (embedded in prog_test_ref_kfunc)

The reason is because they need to be marked as rcu safe (check test
prog mark_ref_as_untrusted_or_null) and such objects are being required
to be defined only in kernel at the moment (see rcu_safe_kptr check
in kernel).

We need to keep also dtor functions for both objects in kernel:
  bpf_kfunc_call_test_release
  bpf_kfunc_call_memb_release

We also keep the copy of these struct in bpf_testmod_kfunc.h, because
other test functions use them. This is unfortunate, but this is just
temporary solution until we are able to these structs them to bpf_testmod
completely.

As suggested by David adding bpf_testmod.ko make dependency for
bpf programs, so they are rebuilt if we change the bpf_testmod.ko
module.

Also adding missing __bpf_kfunc to bpf_kfunc_call_test4 functions.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: David Vernet <void@manifault.com>
Link: https://lore.kernel.org/r/20230515133756.1658301-11-jolsa@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2023-05-16 22:09:24 -07:00
..
.gitignore
bpf_testmod-events.h bpf/selftests: Add test for writable bare tracepoint 2021-10-08 13:22:57 -07:00
bpf_testmod.c bpf: Move kernel test kfuncs to bpf_testmod 2023-05-16 22:09:24 -07:00
bpf_testmod.h selftests/bpf: implement and test custom testmod_seq iterator 2023-03-08 16:19:51 -08:00
bpf_testmod_kfunc.h bpf: Move kernel test kfuncs to bpf_testmod 2023-05-16 22:09:24 -07:00
Makefile