summaryrefslogtreecommitdiff
path: root/crypto/chacha20poly1305.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2016-03-15 16:54:45 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2016-03-15 16:54:45 -0700
commit0d6e29d8da85e74c1b37801469be3974fd706ba7 (patch)
tree0a5824f6fef63ea2be36406768e8cfe3e6c2457e /crypto/chacha20poly1305.c
parent2db18d12ffa4131d398564bfc0fb15f26cdf52e5 (diff)
parent5da64d0814134dc3542fb314a66dcdf74e8553bd (diff)
downloadlinux-crypto-0d6e29d8da85e74c1b37801469be3974fd706ba7.tar.gz
linux-crypto-0d6e29d8da85e74c1b37801469be3974fd706ba7.zip
Merge tag 'v4.5' into next
Merge with Linux 4.5 to get PROPERTY_ENTRY_INTEGER() that is needed to fix pxa/raumfeld rotary encoder properties.
Diffstat (limited to 'crypto/chacha20poly1305.c')
-rw-r--r--crypto/chacha20poly1305.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/crypto/chacha20poly1305.c b/crypto/chacha20poly1305.c
index 99c3cce0..7b6b935c 100644
--- a/crypto/chacha20poly1305.c
+++ b/crypto/chacha20poly1305.c
@@ -130,6 +130,9 @@ static int chacha_decrypt(struct aead_request *req)
struct scatterlist *src, *dst;
int err;
+ if (rctx->cryptlen == 0)
+ goto skip;
+
chacha_iv(creq->iv, req, 1);
sg_init_table(rctx->src, 2);
@@ -150,6 +153,7 @@ static int chacha_decrypt(struct aead_request *req)
if (err)
return err;
+skip:
return poly_verify_tag(req);
}
@@ -415,6 +419,9 @@ static int chacha_encrypt(struct aead_request *req)
struct scatterlist *src, *dst;
int err;
+ if (req->cryptlen == 0)
+ goto skip;
+
chacha_iv(creq->iv, req, 1);
sg_init_table(rctx->src, 2);
@@ -435,6 +442,7 @@ static int chacha_encrypt(struct aead_request *req)
if (err)
return err;
+skip:
return poly_genkey(req);
}