diff options
author | Martin KaFai Lau <kafai@fb.com> | 2020-01-11 02:16:44 +0300 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2020-01-12 06:08:21 +0300 |
commit | 555089fdfc37ad65e0ee9b42ca40c238ff546f83 (patch) | |
tree | 49325ac48be165288896658c354b0bad03c5118a /tools | |
parent | 2e012c74823629d9db27963c79caa3f5b2010746 (diff) | |
download | linux-555089fdfc37ad65e0ee9b42ca40c238ff546f83.tar.xz |
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: 22c349e8db89 ("tools: bpftool: fix format strings and arguments for jsonw_printf()")
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
Link: https://lore.kernel.org/bpf/20200110231644.3484151-1-kafai@fb.com
Diffstat (limited to 'tools')
-rw-r--r-- | tools/bpf/bpftool/btf_dumper.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/bpf/bpftool/btf_dumper.c b/tools/bpf/bpftool/btf_dumper.c index d66131f69689..397e5716ab6d 100644 --- a/tools/bpf/bpftool/btf_dumper.c +++ b/tools/bpf/bpftool/btf_dumper.c @@ -26,7 +26,7 @@ static void btf_dumper_ptr(const void *data, json_writer_t *jw, bool is_plain_text) { if (is_plain_text) - jsonw_printf(jw, "%p", data); + jsonw_printf(jw, "%p", *(void **)data); else jsonw_printf(jw, "%lu", *(unsigned long *)data); } |