diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2016-07-12 13:17:33 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2016-07-18 17:35:38 +0800 |
commit | 7a530aa9cf3f282b6b123b9296dfce80ed8f068e (patch) | |
tree | 79da5ff76d31f64f052f684663d69c331b85d98b /crypto/aead.c | |
parent | a0129733a3f5eaa973c1ea76848d905b851548f1 (diff) | |
download | lwn-7a530aa9cf3f282b6b123b9296dfce80ed8f068e.tar.gz lwn-7a530aa9cf3f282b6b123b9296dfce80ed8f068e.zip |
crypto: aead - Add chunk size
This patch adds a chunk size parameter to aead algorithms, just
like the chunk size for skcipher algorithms.
However, unlike skcipher we do not currently export this to AEAD
users. It is only meant to be used by AEAD implementors for now.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/aead.c')
-rw-r--r-- | crypto/aead.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/crypto/aead.c b/crypto/aead.c index 9b18a1e40d6a..b155cbc3a0dd 100644 --- a/crypto/aead.c +++ b/crypto/aead.c @@ -346,9 +346,13 @@ static int aead_prepare_alg(struct aead_alg *alg) { struct crypto_alg *base = &alg->base; - if (max(alg->maxauthsize, alg->ivsize) > PAGE_SIZE / 8) + if (max3(alg->maxauthsize, alg->ivsize, alg->chunksize) > + PAGE_SIZE / 8) return -EINVAL; + if (!alg->chunksize) + alg->chunksize = base->cra_blocksize; + base->cra_type = &crypto_aead_type; base->cra_flags &= ~CRYPTO_ALG_TYPE_MASK; base->cra_flags |= CRYPTO_ALG_TYPE_AEAD; |