crypto: ghash-clmulni: specify context size for ghash async algorithm
authorAndrey Ryabinin <aryabinin@odin.com>
Thu, 3 Sep 2015 11:32:01 +0000 (14:32 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 13 Oct 2015 02:46:08 +0000 (03:46 +0100)
commit 71c6da846be478a61556717ef1ee1cea91f5d6a8 upstream.

Currently context size (cra_ctxsize) doesn't specified for
ghash_async_alg. Which means it's zero. Thus crypto_create_tfm()
doesn't allocate needed space for ghash_async_ctx, so any
read/write to ctx (e.g. in ghash_async_init_tfm()) is not valid.

Signed-off-by: Andrey Ryabinin <aryabinin@odin.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/x86/crypto/ghash-clmulni-intel_glue.c

index f781251..4827b23 100644 (file)
@@ -291,6 +291,7 @@ static struct ahash_alg ghash_async_alg = {
                        .cra_name               = "ghash",
                        .cra_driver_name        = "ghash-clmulni",
                        .cra_priority           = 400,
+                       .cra_ctxsize            = sizeof(struct ghash_async_ctx),
                        .cra_flags              = CRYPTO_ALG_TYPE_AHASH | CRYPTO_ALG_ASYNC,
                        .cra_blocksize          = GHASH_BLOCK_SIZE,
                        .cra_type               = &crypto_ahash_type,