mirror of
https://github.com/torvalds/linux.git
synced 2024-11-01 13:03:25 +01:00
bpftool: Fix printing of pointer value
When printing a pointer value, "%p" will either print the hexadecimal value of the pointer (e.g `0x1234`), or `(nil)` when NULL. Both of those are invalid json "integer" values and need to be wrapped in quotes. Before: ``` $ sudo bpftool struct_ops dump name ned_dummy_cca | grep next "next": (nil), $ sudo bpftool struct_ops dump name ned_dummy_cca | \ jq '.[1].bpf_struct_ops_tcp_congestion_ops.data.list.next' parse error: Invalid numeric literal at line 29, column 34 ``` After: ``` $ sudo ./bpftool struct_ops dump name ned_dummy_cca | grep next "next": "(nil)", $ sudo ./bpftool struct_ops dump name ned_dummy_cca | \ jq '.[1].bpf_struct_ops_tcp_congestion_ops.data.list.next' "(nil)" ``` Signed-off-by: Manu Bretelle <chantr4@gmail.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Tested-by: Eduard Zingerman <eddyz87@gmail.com> Acked-by: Eduard Zingerman <eddyz87@gmail.com> Acked-by: Quentin Monnet <quentin@isovalent.com> Link: https://lore.kernel.org/bpf/20231018230133.1593152-2-chantr4@gmail.com
This commit is contained in:
parent
0e133a1337
commit
90704b4be0
1 changed files with 1 additions and 1 deletions
|
@ -127,7 +127,7 @@ static void btf_dumper_ptr(const struct btf_dumper *d,
|
|||
|
||||
print_ptr_value:
|
||||
if (d->is_plain_text)
|
||||
jsonw_printf(d->jw, "%p", (void *)value);
|
||||
jsonw_printf(d->jw, "\"%p\"", (void *)value);
|
||||
else
|
||||
jsonw_printf(d->jw, "%lu", value);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue