mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-09-20 19:34:46 +00:00
crypto: algif_skcipher - Load TX SG list after waiting
We need to load the TX SG list in sendmsg(2) after waiting for incoming data, not before. connoro@google.com: backport to 3.18,where the relevant logic is located in skcipher_recvmsg() rather than skcipher_recvmsg_sync() Change-Id: I4e18b385fe50c844cd62a2eb20122036ea4dfe09 Git-commit: 36c84b22ac8aa041cbdfbe48a55ebb32e3521704 Git-repo: https://android.googlesource.com/kernel/common.git Reported-by: Dmitry Vyukov <dvyukov@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Tested-by: Dmitry Vyukov <dvyukov@google.com> Signed-off-by: Connor O'Brien <connoro@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Kishor PK <kpbhat@codeaurora.org>
This commit is contained in:
parent
82d475a195
commit
9da9aa7fa8
|
@ -441,12 +441,6 @@ static int skcipher_recvmsg(struct kiocb *unused, struct socket *sock,
|
|||
char __user *from = iov->iov_base;
|
||||
|
||||
while (seglen) {
|
||||
sgl = list_first_entry(&ctx->tsgl,
|
||||
struct skcipher_sg_list, list);
|
||||
sg = sgl->sg;
|
||||
|
||||
while (!sg->length)
|
||||
sg++;
|
||||
|
||||
used = ctx->used;
|
||||
if (!used) {
|
||||
|
@ -468,6 +462,12 @@ static int skcipher_recvmsg(struct kiocb *unused, struct socket *sock,
|
|||
err = -EINVAL;
|
||||
if (!used)
|
||||
goto free;
|
||||
sgl = list_first_entry(&ctx->tsgl,
|
||||
struct skcipher_sg_list, list);
|
||||
sg = sgl->sg;
|
||||
|
||||
while (!sg->length)
|
||||
sg++;
|
||||
|
||||
ablkcipher_request_set_crypt(&ctx->req, sg,
|
||||
ctx->rsgl.sg, used,
|
||||
|
|
Loading…
Reference in a new issue