On Mon, Mar 22, 2021 at 06:05:15PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <a...@arndb.de>
> 
> gcc-11 points out a mismatch between the declaration and the definition
> of poly1305_core_setkey():
> 
> lib/crypto/poly1305-donna32.c:13:67: error: argument 2 of type ‘const u8[16]’ 
> {aka ‘const unsigned char[16]’} with mismatched bound 
> [-Werror=array-parameter=]
>    13 | void poly1305_core_setkey(struct poly1305_core_key *key, const u8 
> raw_key[16])
>       |                                                          
> ~~~~~~~~~^~~~~~~~~~~
> In file included from lib/crypto/poly1305-donna32.c:11:
> include/crypto/internal/poly1305.h:21:68: note: previously declared as ‘const 
> u8 *’ {aka ‘const unsigned char *’}
>    21 | void poly1305_core_setkey(struct poly1305_core_key *key, const u8 
> *raw_key);
> 
> This is harmless in principle, as the calling conventions are the same,
> but the more specific prototype allows better type checking in the
> caller.
> 
> Change the declaration to match the actual function definition.
> The poly1305_simd_init() is a bit suspicious here, as it previously
> had a 32-byte argument type, but looks like it needs to take the
> 16-byte POLY1305_BLOCK_SIZE array instead.
> 
> Fixes: 1c08a104360f ("crypto: poly1305 - add new 32 and 64-bit generic 
> versions")
> Signed-off-by: Arnd Bergmann <a...@arndb.de>
> ---
>  arch/arm/crypto/poly1305-glue.c    | 2 +-
>  arch/arm64/crypto/poly1305-glue.c  | 2 +-
>  arch/mips/crypto/poly1305-glue.c   | 2 +-
>  arch/x86/crypto/poly1305_glue.c    | 6 +++---
>  include/crypto/internal/poly1305.h | 3 ++-
>  include/crypto/poly1305.h          | 6 ++++--
>  lib/crypto/poly1305-donna32.c      | 3 ++-
>  lib/crypto/poly1305-donna64.c      | 3 ++-
>  lib/crypto/poly1305.c              | 3 ++-
>  9 files changed, 18 insertions(+), 12 deletions(-)

Patch applied.  Thanks.
-- 
Email: Herbert Xu <herb...@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

Reply via email to