[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH][4.15] crypto: adjust rijndaelEncrypt() prototype for gcc11
On 03.03.2021 20:09, Julien Grall wrote: > On 01/03/2021 07:57, Jan Beulich wrote: >> The upcoming release complains, not entirely unreasonably: >> >> In file included from rijndael.c:33: >> .../xen/include/crypto/rijndael.h:55:53: note: previously declared as 'const >> unsigned char[]' >> 55 | void rijndaelEncrypt(const unsigned int [], int, const unsigned >> char [], >> | >> ^~~~~~~~~~~~~~~~~~~~~~ >> rijndael.c:865:8: error: argument 4 of type 'u8[16]' {aka 'unsigned >> char[16]'} with mismatched bound [-Werror=array-parameter=] >> 865 | u8 ct[16]) >> | ~~~^~~~~~ >> In file included from rijndael.c:33: >> .../xen/include/crypto/rijndael.h:56:13: note: previously declared as >> 'unsigned char[]' >> 56 | unsigned char []); >> | ^~~~~~~~~~~~~~~~ >> >> While it's not really clear to me why it would complain only for arg 4, >> the adjustment to make is obvious and riskfree also for arg 3: Simply >> declare the correct array dimension right away. This then allows >> compilers to apply checking at call sites, which seems desirable anyway. > > I am a bit confused, if GCC is not complaining for arg3, then what is > the following error message for: > > > In file included from rijndael.c:33: > > .../xen/include/crypto/rijndael.h:55:53: note: previously declared as > 'const unsigned char[]' > > 55 | void rijndaelEncrypt(const unsigned int [], int, const > unsigned char [], > > | > ^~~~~~~~~~~~~~~~~~~~~~ Hmm, good point. I didn't observe this myself, and simply copied the part of the error message that I was handed. I suppose there was an "error: argument 3 of type ..." there then as well. Charles - any chance you could confirm this, and perhaps even quote the full set of error messages in our internal patch? I'll adjust the wording of the description in any event. >> There are quite a few more issues with gcc11, but from my brief initial >> inspection I'm suspecting (hoping) it'll rather be the compiler which >> will get further changed by the time their release gets finalized. Just >> one example: >> >> .../xen/include/xen/string.h:101:27: error: '__builtin_memcmp' specified >> bound 4 exceeds source size 0 [-Werror=stringop-overread] >> 101 | #define memcmp(s1, s2, n) __builtin_memcmp(s1, s2, n) >> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ >> mpparse.c:722:13: note: in expansion of macro 'memcmp' >> 722 | if (memcmp(mpf->mpf_signature, "_MP_", 4) == 0 && >> | ^~~~~~ >> >> Clearly neither the 1st nor the 2nd argument have a "source size" of 0. > > It looks like there is a report on the redhat bug tracker for it [1]. Do > you know if there is a bug report on the GCC tracker as well? I have no idea, to be honest. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |