mirror of
https://gitee.com/openharmony/third_party_libbpf
synced 2024-10-08 07:18:28 +00:00
libbpf: Tighten BTF type ID rewriting with error checking
It should never fail, but if it does, it's better to know about this rather than end up with nonsensical type IDs. Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Yonghong Song <yhs@fb.com> Link: https://lore.kernel.org/bpf/20210423181348.1801389-11-andrii@kernel.org
This commit is contained in:
parent
692ae888bc
commit
7078c5eae4
@ -1429,6 +1429,13 @@ static int linker_fixup_btf(struct src_obj *obj)
|
|||||||
static int remap_type_id(__u32 *type_id, void *ctx)
|
static int remap_type_id(__u32 *type_id, void *ctx)
|
||||||
{
|
{
|
||||||
int *id_map = ctx;
|
int *id_map = ctx;
|
||||||
|
int new_id = id_map[*type_id];
|
||||||
|
|
||||||
|
/* Error out if the type wasn't remapped. Ignore VOID which stays VOID. */
|
||||||
|
if (new_id == 0 && *type_id != 0) {
|
||||||
|
pr_warn("failed to find new ID mapping for original BTF type ID %u\n", *type_id);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
*type_id = id_map[*type_id];
|
*type_id = id_map[*type_id];
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user