summaryrefslogtreecommitdiff
path: root/arch/x86
diff options
context:
space:
mode:
authorXiaodong Liu <xiaodong.liu@intel.com>2016-04-12 12:45:51 +0300
committerSasha Levin <sasha.levin@oracle.com>2016-05-09 04:21:50 +0300
commit5630c73cc47a028e0d2c8ff298f73ba86226d4a3 (patch)
treed04153483c4c8af0b21e4290c1ec139c90e53e6b /arch/x86
parent2ad570ce34473b014b7cdda6da09f2c811beae56 (diff)
downloadlinux-5630c73cc47a028e0d2c8ff298f73ba86226d4a3.tar.xz
crypto: sha1-mb - use corrcet pointer while completing jobs
[ Upstream commit 0851561d9c965df086ef8a53f981f5f95a57c2c8 ] 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> Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Diffstat (limited to 'arch/x86')
-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 d42c9b7fadcf..418319b3763e 100644
--- a/arch/x86/crypto/sha-mb/sha1_mb.c
+++ b/arch/x86/crypto/sha-mb/sha1_mb.c
@@ -457,10 +457,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();
}
}