crypto: echainiv - Use skcipher
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 12 Jul 2016 05:17:43 +0000 (13:17 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 18 Jul 2016 09:35:42 +0000 (17:35 +0800)
This patch replaces use of the obsolete blkcipher with skcipher.

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

index b96a845..1b01fe9 100644 (file)
@@ -20,6 +20,7 @@
 
 #include <crypto/internal/geniv.h>
 #include <crypto/scatterwalk.h>
+#include <crypto/skcipher.h>
 #include <linux/err.h>
 #include <linux/init.h>
 #include <linux/kernel.h>
@@ -112,13 +113,16 @@ static int echainiv_encrypt(struct aead_request *req)
        info = req->iv;
 
        if (req->src != req->dst) {
-               struct blkcipher_desc desc = {
-                       .tfm = ctx->null,
-               };
+               SKCIPHER_REQUEST_ON_STACK(nreq, ctx->sknull);
 
-               err = crypto_blkcipher_encrypt(
-                       &desc, req->dst, req->src,
-                       req->assoclen + req->cryptlen);
+               skcipher_request_set_tfm(nreq, ctx->sknull);
+               skcipher_request_set_callback(nreq, req->base.flags,
+                                             NULL, NULL);
+               skcipher_request_set_crypt(nreq, req->src, req->dst,
+                                          req->assoclen + req->cryptlen,
+                                          NULL);
+
+               err = crypto_skcipher_encrypt(nreq);
                if (err)
                        return err;
        }