On Mon, Jun 29, 2020 at 09:39:25AM +0200, Ard Biesheuvel wrote: > Of the two versions of GHASH that the ARM driver implements, only one > performs aggregation, and so the other one has no use for the powers > of H to be precomputed, or space to be allocated for them in the key > struct. So make the context size dependent on which version is being > selected, and while at it, use a static key to carry this decision, > and get rid of the function pointer. > > Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx> > --- > arch/arm/crypto/ghash-ce-glue.c | 51 +++++++++----------- > 1 file changed, 24 insertions(+), 27 deletions(-) This introduces some new sparse warnings: ../arch/arm/crypto/ghash-ce-glue.c:67:65: warning: incorrect type in argument 4 (different modifiers) ../arch/arm/crypto/ghash-ce-glue.c:67:65: expected unsigned long long const [usertype] ( *h )[2] ../arch/arm/crypto/ghash-ce-glue.c:67:65: got unsigned long long [usertype] ( * )[2] ../arch/arm/crypto/ghash-ce-glue.c:69:64: warning: incorrect type in argument 4 (different modifiers) ../arch/arm/crypto/ghash-ce-glue.c:69:64: expected unsigned long long const [usertype] ( *h )[2] ../arch/arm/crypto/ghash-ce-glue.c:69:64: got unsigned long long [usertype] ( * )[2] Thanks, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt