Kernel test robot (l...@intel.com) reports a compilation error at https://www.spinics.net/lists/netdev/msg534913.html introduced by commit 838e96904ff3 ("bpf: Introduce bpf_func_info").
If CONFIG_BPF is defined and CONFIG_BPF_SYSCALL is not defined, the following error will appear: kernel/bpf/core.c:414: undefined reference to `btf_type_by_id' kernel/bpf/core.c:415: undefined reference to `btf_name_by_offset' When CONFIG_BPF_SYSCALL is not defined, let us define stub inline functions for btf_type_by_id() and btf_name_by_offset() in include/linux/btf.h. This way, the compilation failure can be avoided. Fixes: 838e96904ff3 ("bpf: Introduce bpf_func_info") Reported-by: kbuild test robot <l...@intel.com> Cc: Martin KaFai Lau <ka...@fb.com> Signed-off-by: Yonghong Song <y...@fb.com> --- include/linux/btf.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/linux/btf.h b/include/linux/btf.h index 7f2c0a4a45ea..a5e893071861 100644 --- a/include/linux/btf.h +++ b/include/linux/btf.h @@ -46,7 +46,19 @@ void btf_type_seq_show(const struct btf *btf, u32 type_id, void *obj, struct seq_file *m); int btf_get_fd_by_id(u32 id); u32 btf_id(const struct btf *btf); + +#ifdef CONFIG_BPF_SYSCALL const struct btf_type *btf_type_by_id(const struct btf *btf, u32 type_id); const char *btf_name_by_offset(const struct btf *btf, u32 offset); +#else +const struct btf_type *btf_type_by_id(const struct btf *btf, u32 type_id) +{ + return NULL; +} +const char *btf_name_by_offset(const struct btf *btf, u32 offset) +{ + return NULL; +} +#endif #endif -- 2.17.1