On Mon, May 15, 2023 at 03:37:56PM +0200, Jiri Olsa wrote: > 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@xxxxxxxxxx> Acked-by: David Vernet <void@xxxxxxxxxxxxx>