Re: [PATCH bpf-next v11 13/13] selftests/bpf: test case for register_bpf_struct_ops().

Martin KaFai Lau
2023-11-10T02:23:33Z

On 11/6/23 12:12 PM, thinker.li@gmail.com wrote:
> From: Kui-Feng Lee <thinker.li@gmail.com>
>
> Create a new struct_ops type called bpf_testmod_ops within the bpf_testmod
> module. When a struct_ops object is registered, the bpf_testmod module will
> invoke test_2 from the module.
>
> Signed-off-by: Kui-Feng Lee <thinker.li@gmail.com>
> ---
> .../selftests/bpf/bpf_testmod/bpf_testmod.c | 59 +++++++
> .../selftests/bpf/bpf_testmod/bpf_testmod.h | 5 +
> .../bpf/prog_tests/test_struct_ops_module.c | 144 ++++++++++++++++++
> .../selftests/bpf/progs/struct_ops_module.c | 30 ++++
> .../testing/selftests/bpf/progs/testmod_btf.c | 26 ++++
> 5 files changed, 264 insertions(+)
> create mode 100644 tools/testing/selftests/bpf/prog_tests/test_struct_ops_module.c
> create mode 100644 tools/testing/selftests/bpf/progs/struct_ops_module.c
> create mode 100644 tools/testing/selftests/bpf/progs/testmod_btf.c
>
> diff --git a/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c b/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c
> index a5e246f7b202..418e10311c33 100644
> --- a/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c
> +++ b/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c
> @@ -1,5 +1,6 @@
> // SPDX-License-Identifier: GPL-2.0
> /* Copyright (c) 2020 Facebook */
> +#include <linux/bpf.h>
> #include <linux/btf.h>
> #include <linux/btf_ids.h>
> #include <linux/error-injection.h>
> @@ -522,11 +523,66 @@ BTF_ID_FLAGS(func, bpf_kfunc_call_test_static_unused_arg)
> BTF_ID_FLAGS(func, bpf_kfunc_call_test_offset)
> BTF_SET8_END(bpf_testmod_check_kfunc_ids)
>
> +#ifdef CONFIG_DEBUG_INFO_BTF_MODULES

I don't think it is needed. It should have been enabled (directly/indirectly) by
the selftests/bpf/config already.

[ ... ]