libbpf: Don't crash on object files with no symbol tables
mainline inclusion from mainline-5.16-rc1 commit 03e601f4 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=03e601f48b2da6fb44d0f7b86957a8f6bacfb347 ------------------------------------------------- If libbpf encounters an ELF file that has been stripped of its symbol table, it will crash in bpf_object__add_programs() when trying to dereference the obj->efile.symbols pointer. Fix this by erroring out of bpf_object__elf_collect() if it is not able able to find the symbol table. v2: - Move check into bpf_object__elf_collect() and add nice error message Fixes: 6245947c ("libbpf: Allow gaps in BPF program sections to support overriden weak functions") Signed-off-by: NToke Høiland-Jørgensen <toke@redhat.com> Signed-off-by: NAndrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20210901114812.204720-1-toke@redhat.com (cherry picked from commit 03e601f4) Signed-off-by: NWang Yufen <wangyufen@huawei.com>
Showing
想要评论请 注册 或 登录