On 01/15, Song, Yoong Siang wrote: > On Wednesday, January 15, 2025 10:57 PM, Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote: > >On 1/14/25 4:27 PM, Song Yoong Siang wrote: > >[...] > >> + /* Add mqprio qdisc with TC and hardware queue one-to-one mapping */ > >> + char map[256] = {0}; > >> + char queues[256] = {0}; > >> + > >> + for (i = 0; i < rxq; i++) { > >> + char buf[8]; > >> + > >> + snprintf(buf, sizeof(buf), "%d ", i); > >> + strcat(map, buf); > >> + > >> + snprintf(buf, sizeof(buf), "1@%d ", i); > >> + strcat(queues, buf); > >> + } > >> + run_command("sudo tc qdisc add dev %s handle 8001: parent root mqprio > >num_tc %d map %s queues %s hw 0", > >> + ifname, rxq, map, queues); > > > >Fyi, above triggers selftest build errors: > > > > xdp_hw_metadata.c: In function ‘main’: > > xdp_hw_metadata.c:763:45: error: ‘%d’ directive output may be truncated > >writing between 1 and 10 bytes into a region of size 8 [-Werror=format- > >truncation=] > > 763 | snprintf(buf, sizeof(buf), "%d ", i); > > | ^~ > > TEST-OBJ [test_progs] arg_parsing.test.o > > xdp_hw_metadata.c:763:44: note: directive argument in the range [0, > >2147483646] > > 763 | snprintf(buf, sizeof(buf), "%d ", i); > > | ^~~~~ > > xdp_hw_metadata.c:763:17: note: ‘snprintf’ output between 3 and 12 bytes into > >a destination of size 8 > > 763 | snprintf(buf, sizeof(buf), "%d ", i); > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > xdp_hw_metadata.c:766:47: error: ‘%d’ directive output may be truncated > >writing between 1 and 10 bytes into a region of size 6 [-Werror=format- > >truncation=] > > 766 | snprintf(buf, sizeof(buf), "1@%d ", i); > > | ^~ > > xdp_hw_metadata.c:766:44: note: directive argument in the range [0, > >2147483646] > > 766 | snprintf(buf, sizeof(buf), "1@%d ", i); > > | ^~~~~~~ > > xdp_hw_metadata.c:766:17: note: ‘snprintf’ output between 5 and 14 bytes into > >a destination of size 8 > > 766 | snprintf(buf, sizeof(buf), "1@%d ", i); > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Thanks for pointing this out. > Btw, do you know which build command will trigger these errors? > I am using "make -C tools/testing/selftests/bpf" but cannot > reproduce the build error. > > Thanks & Regards > Siang Last time I used the following to reproduce similar issues on my side: make -C tools/testing/selftests TARGETS="bpf" LLVM=1 USERCFLAGS="-Wformat-truncation" You can also try to use something like asprintf instead of managing the buffer sizes manually.