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)
committerDanny Wood <danwood76@gmail.com>
Tue, 29 Jan 2019 13:09:58 +0000 (13:09 +0000)
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/crypto/ghash-clmulni-intel_glue.c

index a8d6f69f92a3a92dadcb79296afa78bb98da9962..4bcf841e47013d4474ed5ecd0054f736fcde6b77 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,