summaryrefslogtreecommitdiffstats
path: root/crypto/echainiv.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2016-07-12 13:17:43 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2016-07-18 17:35:42 +0800
commit0e8bff47f6d3e863bf1829e020000c249c59ecd2 (patch)
tree342ac414f0c79813ab4c846410b0ea0ebeb7bf3d /crypto/echainiv.c
parentca0494c093371b1ca3cd4c8e14e1e7a19e6e21b6 (diff)
downloadlinux-0e8bff47f6d3e863bf1829e020000c249c59ecd2.tar.gz
linux-0e8bff47f6d3e863bf1829e020000c249c59ecd2.tar.bz2
linux-0e8bff47f6d3e863bf1829e020000c249c59ecd2.zip
crypto: echainiv - Use skcipher
This patch replaces use of the obsolete blkcipher with skcipher. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/echainiv.c')
-rw-r--r--crypto/echainiv.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/crypto/echainiv.c b/crypto/echainiv.c
index b96a84560b67..1b01fe98e91f 100644
--- a/crypto/echainiv.c
+++ b/crypto/echainiv.c
@@ -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;
}