crypto: cryptd - Add setkey/setauthsize functions for AEAD
authorHerbert Xu <herbert@gondor.apana.org.au>
Thu, 28 May 2015 14:08:01 +0000 (22:08 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 3 Jun 2015 02:48:35 +0000 (10:48 +0800)
This patch adds setkey and setauthsize for cryptd AEAD.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/cryptd.c

index 4264c8d9c97d99f7c176d03ac84b75cf5a920231..74c4dcbb198cc6abd205cc3574ba3b1d40ff16d2 100644 (file)
@@ -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;