Re: [PATCH] crypto: poly1305: fix poly1305_core_setkey() declaration

From: Herbert Xu
Date: Fri Apr 02 2021 - 05:48:56 EST


On Mon, Mar 22, 2021 at 06:05:15PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> 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 <arnd@xxxxxxxx>
> ---
> 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 <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt