summaryrefslogtreecommitdiffstats
path: root/crypto/algif_aead.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2015-05-28 11:16:41 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2015-05-28 11:16:41 +0800
commit6d7e3d89954af773c70948a54cfa2aaa15907c1c (patch)
tree6908f5e0e1af7294c00dc4e06ed583ef62f594df /crypto/algif_aead.c
parentd725332208ef13241fc435eece790c9d0ea16a4e (diff)
parentf858c7bcca8c20761a20593439fe998b4b67e86b (diff)
downloadlinux-6d7e3d89954af773c70948a54cfa2aaa15907c1c.tar.gz
linux-6d7e3d89954af773c70948a54cfa2aaa15907c1c.tar.bz2
linux-6d7e3d89954af773c70948a54cfa2aaa15907c1c.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Merge the crypto tree for 4.1 to pull in the changeset that disables algif_aead.
Diffstat (limited to 'crypto/algif_aead.c')
-rw-r--r--crypto/algif_aead.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/crypto/algif_aead.c b/crypto/algif_aead.c
index 53702e9c6820..a55e4e6fa3d8 100644
--- a/crypto/algif_aead.c
+++ b/crypto/algif_aead.c
@@ -34,7 +34,7 @@ struct aead_ctx {
/*
* RSGL_MAX_ENTRIES is an artificial limit where user space at maximum
* can cause the kernel to allocate RSGL_MAX_ENTRIES * ALG_MAX_PAGES
- * bytes
+ * pages
*/
#define RSGL_MAX_ENTRIES ALG_MAX_PAGES
struct af_alg_sgl rsgl[RSGL_MAX_ENTRIES];
@@ -436,11 +436,10 @@ static int aead_recvmsg(struct socket *sock, struct msghdr *msg, size_t ignored,
if (err < 0)
goto unlock;
usedpages += err;
- /* chain the new scatterlist with initial list */
+ /* chain the new scatterlist with previous one */
if (cnt)
- scatterwalk_crypto_chain(ctx->rsgl[0].sg,
- ctx->rsgl[cnt].sg, 1,
- sg_nents(ctx->rsgl[cnt-1].sg));
+ af_alg_link_sg(&ctx->rsgl[cnt-1], &ctx->rsgl[cnt]);
+
/* we do not need more iovecs as we have sufficient memory */
if (outlen <= usedpages)
break;