summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2017-06-16 22:37:13 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2017-06-16 22:37:13 -0400
commit66929ad2b944ecc4e1fd60d8c8722284e6e36dc2 (patch)
tree631b8f6e2e6fab4526f0c86f82381e9695c5f8fc
parenta43747a4f91cbb23a2de25c9915b64aad0cf2b40 (diff)
downloadlongterm-queue-4.8-66929ad2b944ecc4e1fd60d8c8722284e6e36dc2.tar.gz
crypto: context refresh
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--queue/crypto-algif_aead-Fix-bogus-request-dereference-in-c.patch13
1 files changed, 7 insertions, 6 deletions
diff --git a/queue/crypto-algif_aead-Fix-bogus-request-dereference-in-c.patch b/queue/crypto-algif_aead-Fix-bogus-request-dereference-in-c.patch
index 65c84f7..90aab64 100644
--- a/queue/crypto-algif_aead-Fix-bogus-request-dereference-in-c.patch
+++ b/queue/crypto-algif_aead-Fix-bogus-request-dereference-in-c.patch
@@ -1,4 +1,4 @@
-From e6534aebb26e32fbab14df9c713c65e8507d17e4 Mon Sep 17 00:00:00 2001
+From 01351c96df302968b0bec55e6296137da0e5280e Mon Sep 17 00:00:00 2001
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Mon, 10 Apr 2017 17:59:07 +0800
Subject: [PATCH] crypto: algif_aead - Fix bogus request dereference in
@@ -18,12 +18,13 @@ that instead of passing in sk through req->data.
Fixes: 83094e5e9e49 ("crypto: af_alg - add async support to...")
Cc: <stable@vger.kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/crypto/algif_aead.c b/crypto/algif_aead.c
-index 5a8053758657..ef59d9926ee9 100644
+index 10fe7972391c..2f855afbc76d 100644
--- a/crypto/algif_aead.c
+++ b/crypto/algif_aead.c
-@@ -40,6 +40,7 @@ struct aead_async_req {
+@@ -39,6 +39,7 @@ struct aead_async_req {
struct aead_async_rsgl first_rsgl;
struct list_head list;
struct kiocb *iocb;
@@ -31,7 +32,7 @@ index 5a8053758657..ef59d9926ee9 100644
unsigned int tsgls;
char iv[];
};
-@@ -379,12 +380,10 @@ unlock:
+@@ -375,12 +376,10 @@ unlock:
static void aead_async_cb(struct crypto_async_request *_req, int err)
{
@@ -47,7 +48,7 @@ index 5a8053758657..ef59d9926ee9 100644
struct scatterlist *sg = areq->tsgl;
struct aead_async_rsgl *rsgl;
struct kiocb *iocb = areq->iocb;
-@@ -447,11 +446,12 @@ static int aead_recvmsg_async(struct socket *sock, struct msghdr *msg,
+@@ -440,11 +439,12 @@ static int aead_recvmsg_async(struct socket *sock, struct msghdr *msg,
memset(&areq->first_rsgl, '\0', sizeof(areq->first_rsgl));
INIT_LIST_HEAD(&areq->list);
areq->iocb = msg->msg_iocb;
@@ -58,7 +59,7 @@ index 5a8053758657..ef59d9926ee9 100644
aead_request_set_callback(req, CRYPTO_TFM_REQ_MAY_BACKLOG,
- aead_async_cb, sk);
+ aead_async_cb, req);
- used -= ctx->aead_assoclen;
+ used -= ctx->aead_assoclen + (ctx->enc ? as : 0);
/* take over all tx sgls from ctx */
--