libbpf: Fix type compatibility check copy-paste error
authorAndrii Nakryiko <andriin@fb.com>
Fri, 21 Aug 2020 22:56:53 +0000 (15:56 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 24 Aug 2020 21:50:00 +0000 (14:50 -0700)
Fix copy-paste error in types compatibility check. Local type is accidentally
used instead of target type for the very first type check strictness check.
This can result in potentially less strict candidate comparison. Fix the
error.

Fixes: 3fc32f40c402 ("libbpf: Implement type-based CO-RE relocations support")
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200821225653.2180782-1-andriin@fb.com
tools/lib/bpf/libbpf.c

index cd4a2bb..2e2523d 100644 (file)
@@ -4708,7 +4708,7 @@ static int bpf_core_types_are_compat(const struct btf *local_btf, __u32 local_id
 
        /* caller made sure that names match (ignoring flavor suffix) */
        local_type = btf__type_by_id(local_btf, local_id);
-       targ_type = btf__type_by_id(local_btf, local_id);
+       targ_type = btf__type_by_id(targ_btf, targ_id);
        if (btf_kind(local_type) != btf_kind(targ_type))
                return 0;