On Wed, Jun 28, 2023 at 08:13:25PM -0700, Linus Torvalds wrote: > So I don't see anything that has changed, and I suspect the only > change is that my compiler version changed, but my arm64 build fails > right now with FORTIFY_STRING enabled. > > On arm64 I now get this warning: > > In function 'fortify_memcpy_chk', > inlined from 'mv_cesa_des3_ede_setkey' and > drivers/crypto/marvell/cesa/cipher.c:307:2: > ./include/linux/fortify-string.h:583:25: error: call to > '__write_overflow_field' declared with attribute warning: detected > write beyond size of field (1st parameter); maybe use struct_group()? > [-Werror=attribute-warning[ This was fixed very recently here: https://lore.kernel.org/all/20230523083313.899332-1-arnd@xxxxxxxxxx/ and Herbert took it. I assume the crypto tree hasn't been merged yet? > Kees, any idea why I'm seeing it now? Is it the new > -fstrict-flex-arrays=3? And if so, why? None of this is about flex > arrays... The unexpected bit is that without -fstrict-flex-arrays=3 (i.e. the default since the dawn of time), the compiler treats any array that happens to be the last struct member as a flexible array. So with it enabled, FORTIFY_SOURCE gains coverage over things it should have been examining before. -- Kees Cook