提交 3f8bb242 编写于 作者: A Andrii Nakryiko 提交者: Zheng Zengkai

bpf: Keep module's btf_data_size intact after load

mainline inclusion
from mainline-5.11-rc1
commit 2fe88908
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/?id=2fe8890848c799515a881502339a0a7b2b555988

-------------------------------------------------

Having real btf_data_size stored in struct module is benefitial to quickly
determine which kernel modules have associated BTF object and which don't.
There is no harm in keeping this info, as opposed to keeping invalid pointer.

Fixes: 607c543f ("bpf: Sanitize BTF data pointer after module is loaded")
Signed-off-by: NAndrii Nakryiko <andrii@kernel.org>
Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20201203204634.1325171-3-andrii@kernel.org
(cherry picked from commit 2fe88908)
Signed-off-by: NWang Yufen <wangyufen@huawei.com>
上级 18fda61c
...@@ -3829,7 +3829,6 @@ static noinline int do_init_module(struct module *mod) ...@@ -3829,7 +3829,6 @@ static noinline int do_init_module(struct module *mod)
#ifdef CONFIG_DEBUG_INFO_BTF_MODULES #ifdef CONFIG_DEBUG_INFO_BTF_MODULES
/* .BTF is not SHF_ALLOC and will get removed, so sanitize pointer */ /* .BTF is not SHF_ALLOC and will get removed, so sanitize pointer */
mod->btf_data = NULL; mod->btf_data = NULL;
mod->btf_data_size = 0;
#endif #endif
/* /*
* We want to free module_init, but be aware that kallsyms may be * We want to free module_init, but be aware that kallsyms may be
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册