Commit 555089fd authored by Martin KaFai Lau's avatar Martin KaFai Lau Committed by Alexei Starovoitov

bpftool: Fix printing incorrect pointer in btf_dump_ptr

For plain text output, it incorrectly prints the pointer value
"void *data".  The "void *data" is actually pointing to memory that
contains a bpf-map's value.  The intention is to print the content of
the bpf-map's value instead of printing the pointer pointing to the
bpf-map's value.

In this case, a member of the bpf-map's value is a pointer type.
Thus, it should print the "*(void **)data".

Fixes: 22c349e8 ("tools: bpftool: fix format strings and arguments for jsonw_printf()")
Signed-off-by: default avatarMartin KaFai Lau <kafai@fb.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Reviewed-by: default avatarQuentin Monnet <quentin.monnet@netronome.com>
Link: https://lore.kernel.org/bpf/20200110231644.3484151-1-kafai@fb.com
parent 2e012c74
...@@ -26,7 +26,7 @@ static void btf_dumper_ptr(const void *data, json_writer_t *jw, ...@@ -26,7 +26,7 @@ static void btf_dumper_ptr(const void *data, json_writer_t *jw,
bool is_plain_text) bool is_plain_text)
{ {
if (is_plain_text) if (is_plain_text)
jsonw_printf(jw, "%p", data); jsonw_printf(jw, "%p", *(void **)data);
else else
jsonw_printf(jw, "%lu", *(unsigned long *)data); jsonw_printf(jw, "%lu", *(unsigned long *)data);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment