summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiaodong Liu <xiaodong.liu@intel.com>2016-04-12 09:45:51 (GMT)
committerHerbert Xu <herbert@gondor.apana.org.au>2016-04-15 14:13:56 (GMT)
commit0851561d9c965df086ef8a53f981f5f95a57c2c8 (patch)
tree8d17cbefa9079bd56fc7fb3866290f0bd19c223f
parent6f0904ada402a45b3a0a3b9b6507d91d3a9da67a (diff)
downloadlinux-0851561d9c965df086ef8a53f981f5f95a57c2c8.tar.xz
crypto: sha1-mb - use corrcet pointer while completing jobs
In sha_complete_job, incorrect mcryptd_hash_request_ctx pointer is used when check and complete other jobs. If the memory of first completed req is freed, while still completing other jobs in the func, kernel will crash since NULL pointer is assigned to RIP. Cc: <stable@vger.kernel.org> Signed-off-by: Xiaodong Liu <xiaodong.liu@intel.com> Acked-by: Tim Chen <tim.c.chen@linux.intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--arch/x86/crypto/sha-mb/sha1_mb.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/crypto/sha-mb/sha1_mb.c b/arch/x86/crypto/sha-mb/sha1_mb.c
index a8a0224..081255c 100644
--- a/arch/x86/crypto/sha-mb/sha1_mb.c
+++ b/arch/x86/crypto/sha-mb/sha1_mb.c
@@ -453,10 +453,10 @@ static int sha_complete_job(struct mcryptd_hash_request_ctx *rctx,
req = cast_mcryptd_ctx_to_req(req_ctx);
if (irqs_disabled())
- rctx->complete(&req->base, ret);
+ req_ctx->complete(&req->base, ret);
else {
local_bh_disable();
- rctx->complete(&req->base, ret);
+ req_ctx->complete(&req->base, ret);
local_bh_enable();
}
}