X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=crypto%2Fgcm.c;h=1238b3c5a321984c0414dc283bf9891764762e6a;hb=90960093e88adea9487632ade580589c50da10c6;hp=bec329b3de8d7f2e51ed3bf2d91afcdbe4678e8d;hpb=8f6c5b079cb37f01463a643182815c00aa5263f2;p=firefly-linux-kernel-4.4.55.git diff --git a/crypto/gcm.c b/crypto/gcm.c index bec329b3de8d..1238b3c5a321 100644 --- a/crypto/gcm.c +++ b/crypto/gcm.c @@ -117,7 +117,7 @@ static int crypto_gcm_setkey(struct crypto_aead *aead, const u8 *key, struct crypto_ablkcipher *ctr = ctx->ctr; struct { be128 hash; - u8 iv[8]; + u8 iv[16]; struct crypto_gcm_setkey_result result; @@ -639,7 +639,9 @@ static int crypto_gcm_create_common(struct crypto_template *tmpl, ghash_alg = crypto_find_alg(ghash_name, &crypto_ahash_type, CRYPTO_ALG_TYPE_HASH, - CRYPTO_ALG_TYPE_AHASH_MASK); + CRYPTO_ALG_TYPE_AHASH_MASK | + crypto_requires_sync(algt->type, + algt->mask)); if (IS_ERR(ghash_alg)) return PTR_ERR(ghash_alg);