diff options
author | Jiri Olsa <jolsa@kernel.org> | 2023-05-15 15:37:56 +0200 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2023-05-16 22:09:24 -0700 |
commit | 65eb006d85a2ac0b23464808099726bd826e9877 (patch) | |
tree | 5de18157ce74b0dcb81aaf0be0090025270a7e5f /include/memory | |
parent | 6e2b50fa818bea4fc9a2d33f31a9633803a406ff (diff) | |
download | linux-65eb006d85a2ac0b23464808099726bd826e9877.tar.gz linux-65eb006d85a2ac0b23464808099726bd826e9877.tar.bz2 linux-65eb006d85a2ac0b23464808099726bd826e9877.zip |
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>
Diffstat (limited to 'include/memory')
0 files changed, 0 insertions, 0 deletions