Re: [PATCH bpf-next v5 2/4] selftests/bpf: Add launch time request to xdp_hw_metadata

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux