Re: [m68k:master 1174/1174] arch/m68k/include/asm/string.h:72:25: warning: '__builtin_memcpy' forming offset 8 is out of the bounds [0, 7]

From: Finn Thain
Date: Mon Mar 04 2019 - 21:58:52 EST


On Tue, 5 Mar 2019, Finn Thain wrote:

>
> Looks bogus to me.
>
> If you change memcpy to __builtin_memcpy, then we avoid the macro and the
> warning changes to,
>
> ./include/linux/string.h:456:3: warning: '__builtin_memcpy' forming offset [7, 8] is out of the bounds [0, 6] [-Warray-bounds]
> __builtin_memcpy(dest, src, dest_len);
>
> The compiler has nothing to complain about here. dest is known to be
> id->fr and dest_len is known to be sizeof(id->fr).
>
> The error message indicates that gcc has applied the bounds [0, 6] to dest
> when in fact those are the bounds for src.
>

My mistake. GCC is right, it seems memcpy will read past the end of
"5.0.0+".

--