On 02/05/2019 06:12 PM, Breno Leitao wrote:
> When compiling test_maps selftest with GCC-8, it warns that an array might
> be indexed with a negative value, which could cause a negative out of bound
> access, depending on parameters of the function. This is the GCC-8 warning:
> 
>       gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../lib/bpf 
> -I../../../../include/generated -DHAVE_GENHDR -I../../../include    
> test_maps.c /home/breno/Devel/linux/tools/testing/selftests/bpf/libbpf.a 
> -lcap -lelf -lrt -lpthread -o 
> /home/breno/Devel/linux/tools/testing/selftests/bpf/test_maps
>       In file included from test_maps.c:16:
>       test_maps.c: In function ‘run_all_tests’:
>       test_maps.c:1079:10: warning: array subscript -1 is below array bounds 
> of ‘pid_t[<Ube20> + 1]’ [-Warray-bounds]
>          assert(waitpid(pid[i], &status, 0) == pid[i]);
>                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>       test_maps.c:1059:6: warning: array subscript -1 is below array bounds 
> of ‘pid_t[<Ube20> + 1]’ [-Warray-bounds]
>          pid[i] = fork();
>          ~~~^~~
> 
> This patch simply guarantees that the task(s) variables are unsigned, thus,
> they could never be a negative number, hence avoiding an out of bound access
> warning.
> 
> Signed-off-by: Breno Leitao <lei...@debian.org>

Given this is a false positive anyway and we only want to reduce gcc noise, I've
applied it to bpf-next, thanks Breno!

Reply via email to