diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2015-05-28 22:08:01 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2015-06-03 10:48:35 +0800 |
commit | 92b9876bdddb704d44ae29ef5da254b0a403d4af (patch) | |
tree | f807951422a110ff674abb7c003e590d92d767c0 /crypto/cryptd.c | |
parent | 0496f56065e00f6c3bfcefc4f9b5419847e4a8b5 (diff) | |
download | linux-92b9876bdddb704d44ae29ef5da254b0a403d4af.tar.gz linux-92b9876bdddb704d44ae29ef5da254b0a403d4af.tar.bz2 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/cryptd.c')
-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; |