libbpf: Fix compilation warning due to mismatched printf format
authorAndrii Nakryiko <andrii@kernel.org>
Wed, 9 Feb 2022 06:39:09 +0000 (22:39 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:30 +0000 (14:23 +0200)
[ Upstream commit dc37dc617fabfb1c3a16d49f5d8cc20e9e3608ca ]

On ppc64le architecture __s64 is long int and requires %ld. Cast to
ssize_t and use %zd to avoid architecture-specific specifiers.

Fixes: 4172843ed4a3 ("libbpf: Fix signedness bug in btf_dump_array_data()")
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20220209063909.1268319-1-andrii@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/lib/bpf/btf_dump.c

index c1182dd..463447a 100644 (file)
@@ -1837,7 +1837,8 @@ static int btf_dump_array_data(struct btf_dump *d,
        elem_type = skip_mods_and_typedefs(d->btf, elem_type_id, NULL);
        elem_size = btf__resolve_size(d->btf, elem_type_id);
        if (elem_size <= 0) {
-               pr_warn("unexpected elem size %lld for array type [%u]\n", elem_size, id);
+               pr_warn("unexpected elem size %zd for array type [%u]\n",
+                       (ssize_t)elem_size, id);
                return -EINVAL;
        }