diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2015-05-28 16:08:01 +0200 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2015-06-03 04:48:35 +0200 |
commit | 92b9876bdddb704d44ae29ef5da254b0a403d4af (patch) | |
tree | f807951422a110ff674abb7c003e590d92d767c0 /crypto | |
parent | crypto: pcrypt - Add support for new AEAD interface (diff) | |
download | linux-92b9876bdddb704d44ae29ef5da254b0a403d4af.tar.xz linux-92b9876bdddb704d44ae29ef5da254b0a403d4af.zip |
crypto: cryptd - Add setkey/setauthsize functions for AEAD
This patch adds setkey and setauthsize for cryptd AEAD.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/cryptd.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/crypto/cryptd.c b/crypto/cryptd.c index 4264c8d9c97d..74c4dcbb198c 100644 --- a/crypto/cryptd.c +++ b/crypto/cryptd.c @@ -664,6 +664,24 @@ out_put_alg: return err; } +static int cryptd_aead_setkey(struct crypto_aead *parent, + const u8 *key, unsigned int keylen) +{ + struct cryptd_aead_ctx *ctx = crypto_aead_ctx(parent); + struct crypto_aead *child = ctx->child; + + return crypto_aead_setkey(child, key, keylen); +} + +static int cryptd_aead_setauthsize(struct crypto_aead *parent, + unsigned int authsize) +{ + struct cryptd_aead_ctx *ctx = crypto_aead_ctx(parent); + struct crypto_aead *child = ctx->child; + + return crypto_aead_setauthsize(child, authsize); +} + static void cryptd_aead_crypt(struct aead_request *req, struct crypto_aead *child, int err, @@ -793,8 +811,8 @@ static int cryptd_create_aead(struct crypto_template *tmpl, inst->alg.cra_ctxsize = sizeof(struct cryptd_aead_ctx); inst->alg.cra_init = cryptd_aead_init_tfm; inst->alg.cra_exit = cryptd_aead_exit_tfm; - inst->alg.cra_aead.setkey = alg->cra_aead.setkey; - inst->alg.cra_aead.setauthsize = alg->cra_aead.setauthsize; + inst->alg.cra_aead.setkey = cryptd_aead_setkey; + inst->alg.cra_aead.setauthsize = cryptd_aead_setauthsize; inst->alg.cra_aead.geniv = alg->cra_aead.geniv; inst->alg.cra_aead.ivsize = alg->cra_aead.ivsize; inst->alg.cra_aead.maxauthsize = alg->cra_aead.maxauthsize; |