bpf: fix a compilation error when CONFIG_BPF_SYSCALL is not defined
Kernel test robot (lkp@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 <lkp@intel.com> Cc: Martin KaFai Lau <kafai@fb.com> Signed-off-by: Yonghong Song <yhs@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
@@ -46,7 +46,22 @@ void btf_type_seq_show(const struct btf *btf, u32 type_id, void *obj,
|
|||||||
struct seq_file *m);
|
struct seq_file *m);
|
||||||
int btf_get_fd_by_id(u32 id);
|
int btf_get_fd_by_id(u32 id);
|
||||||
u32 btf_id(const struct btf *btf);
|
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 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);
|
const char *btf_name_by_offset(const struct btf *btf, u32 offset);
|
||||||
|
#else
|
||||||
|
static inline const struct btf_type *btf_type_by_id(const struct btf *btf,
|
||||||
|
u32 type_id)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline const char *btf_name_by_offset(const struct btf *btf,
|
||||||
|
u32 offset)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user