From: Andrii Nakryiko andrii@kernel.org
mainline inclusion from mainline-5.11-rc1 commit 7112d127984bd7b0c8ded7973b358829f16735f5 category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I5EUVD CVE: NA
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i...
-------------------------------------------------
Make sure btf_parse_module() is compiled out if module BTFs are not enabled.
Fixes: 36e68442d1af ("bpf: Load and verify kernel module BTFs") Reported-by: Stephen Rothwell sfr@canb.auug.org.au Signed-off-by: Andrii Nakryiko andrii@kernel.org Signed-off-by: Alexei Starovoitov ast@kernel.org Link: https://lore.kernel.org/bpf/20201111040645.903494-1-andrii@kernel.org (cherry picked from commit 7112d127984bd7b0c8ded7973b358829f16735f5) Signed-off-by: Wang Yufen wangyufen@huawei.com --- kernel/bpf/btf.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c index 0a0c81588e61..680f5d0c7fe8 100644 --- a/kernel/bpf/btf.c +++ b/kernel/bpf/btf.c @@ -4477,6 +4477,8 @@ struct btf *btf_parse_vmlinux(void) return ERR_PTR(err); }
+#ifdef CONFIG_DEBUG_INFO_BTF_MODULES + static struct btf *btf_parse_module(const char *module_name, const void *data, unsigned int data_size) { struct btf_verifier_env *env = NULL; @@ -4546,6 +4548,8 @@ static struct btf *btf_parse_module(const char *module_name, const void *data, u return ERR_PTR(err); }
+#endif /* CONFIG_DEBUG_INFO_BTF_MODULES */ + struct btf *bpf_prog_get_target_btf(const struct bpf_prog *prog) { struct bpf_prog *tgt_prog = prog->aux->dst_prog;