BPF List
 help / color / mirror / Atom feed
* [PATCH v3] tools/bpf:Fix the wrong format specifier
@ 2024-07-24 10:00 Zhu Jun
  2024-07-24 10:13 ` Quentin Monnet
  2024-07-24 14:38 ` [PATCH v3] tools/bpf: Fix " Markus Elfring
  0 siblings, 2 replies; 3+ messages in thread
From: Zhu Jun @ 2024-07-24 10:00 UTC (permalink / raw)
  To: qmo
  Cc: ast, daniel, martin.lau, eddyz87, song, yonghong.song,
	john.fastabend, kpsingh, sdf, haoluo, bpf, linux-kernel, zhujun2

The format specifier of "unsigned int" in printf() should be "%u", not
"%d".

Signed-off-by: Zhu Jun <zhujun2@cmss.chinamobile.com>
---
Changes:
v2:modify commit info
v3:fix compile warninf

 tools/bpf/bpftool/xlated_dumper.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/bpf/bpftool/xlated_dumper.c b/tools/bpf/bpftool/xlated_dumper.c
index 567f56dfd9f1..d9c198e0a875 100644
--- a/tools/bpf/bpftool/xlated_dumper.c
+++ b/tools/bpf/bpftool/xlated_dumper.c
@@ -316,7 +316,7 @@ void dump_xlated_plain(struct dump_data *dd, void *buf, unsigned int len,
 	unsigned int nr_skip = 0;
 	bool double_insn = false;
 	char func_sig[1024];
-	unsigned int i;
+	int i;
 
 	record = dd->func_info;
 	for (i = 0; i < len / sizeof(*insn); i++) {
@@ -415,7 +415,7 @@ void dump_xlated_for_graph(struct dump_data *dd, void *buf_start, void *buf_end,
 			}
 		}
 
-		printf("%d: ", insn_off);
+		printf("%u: ", insn_off);
 		print_bpf_insn(&cbs, cur, true);
 
 		if (opcodes) {
-- 
2.17.1




^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] tools/bpf:Fix the wrong format specifier
  2024-07-24 10:00 [PATCH v3] tools/bpf:Fix the wrong format specifier Zhu Jun
@ 2024-07-24 10:13 ` Quentin Monnet
  2024-07-24 14:38 ` [PATCH v3] tools/bpf: Fix " Markus Elfring
  1 sibling, 0 replies; 3+ messages in thread
From: Quentin Monnet @ 2024-07-24 10:13 UTC (permalink / raw)
  To: Zhu Jun
  Cc: ast, daniel, martin.lau, eddyz87, song, yonghong.song,
	john.fastabend, kpsingh, sdf, haoluo, bpf, linux-kernel

2024-07-24 03:00 UTC-0700 ~ Zhu Jun <zhujun2@cmss.chinamobile.com>
> The format specifier of "unsigned int" in printf() should be "%u", not
> "%d".
> 
> Signed-off-by: Zhu Jun <zhujun2@cmss.chinamobile.com>
> ---
> Changes:
> v2:modify commit info
> v3:fix compile warninf
> 
>  tools/bpf/bpftool/xlated_dumper.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/bpf/bpftool/xlated_dumper.c b/tools/bpf/bpftool/xlated_dumper.c
> index 567f56dfd9f1..d9c198e0a875 100644
> --- a/tools/bpf/bpftool/xlated_dumper.c
> +++ b/tools/bpf/bpftool/xlated_dumper.c
> @@ -316,7 +316,7 @@ void dump_xlated_plain(struct dump_data *dd, void *buf, unsigned int len,
>  	unsigned int nr_skip = 0;
>  	bool double_insn = false;
>  	char func_sig[1024];
> -	unsigned int i;
> +	int i;


Thanks! But unsigned seems relevant here, and it doesn't make much sense
to change the type of the int just because we don't have the right
specifier in the printf(), does it? Sorry, I should have been more
explicit: the warning on v1 and v2 can be addressed by simply removing
the "space flag" from the format string, in other words:

	printf("%4u: ", i);

Instead of what you had:

	printf("% 4u: ", i);

Quentin

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] tools/bpf: Fix the wrong format specifier
  2024-07-24 10:00 [PATCH v3] tools/bpf:Fix the wrong format specifier Zhu Jun
  2024-07-24 10:13 ` Quentin Monnet
@ 2024-07-24 14:38 ` Markus Elfring
  1 sibling, 0 replies; 3+ messages in thread
From: Markus Elfring @ 2024-07-24 14:38 UTC (permalink / raw)
  To: Zhu Jun, bpf, Quentin Monnet
  Cc: LKML, Alexei Starovoitov, Daniel Borkmann, Eduard Zingerman,
	Hao Luo, John Fastabend, KP Singh, Martin KaFai Lau, Song Liu,
	Stanislav Fomichev, Yonghong Song

> The format specifier of "unsigned int" in printf() should be "%u", not
> "%d".

Would you like to add any tags (like “Fixes” and “Cc”) accordingly?


…
> ---
> Changes:
> v3:fix compile warninf

V3:
Fix a compilation warning?


…
> +++ b/tools/bpf/bpftool/xlated_dumper.c
> @@ -316,7 +316,7 @@ void dump_xlated_plain(struct dump_data *dd, void *buf, unsigned int len,
> -	unsigned int i;
> +	int i;

Please do not change the data type for the variable
if you would like to adjust a subsequent format string.


…
> @@ -415,7 +415,7 @@ void dump_xlated_for_graph(struct dump_data *dd, void *buf_start, void *buf_end,
>  			}
>  		}
>
> -		printf("%d: ", insn_off);
> +		printf("%u: ", insn_off);
>  		print_bpf_insn(&cbs, cur, true);
…

How do you think about to care more also for the return value from such a function call?
https://wiki.sei.cmu.edu/confluence/display/c/ERR33-C.+Detect+and+handle+standard+library+errors

Regards,
Markus

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-07-24 14:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-24 10:00 [PATCH v3] tools/bpf:Fix the wrong format specifier Zhu Jun
2024-07-24 10:13 ` Quentin Monnet
2024-07-24 14:38 ` [PATCH v3] tools/bpf: Fix " Markus Elfring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox