aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorXiaodong Liu <xiaodong.liu@intel.com>2016-04-12 09:45:51 +0000
committerHerbert Xu <herbert@gondor.apana.org.au>2016-04-15 22:13:56 +0800
commit0851561d9c965df086ef8a53f981f5f95a57c2c8 (patch)
tree8d17cbefa9079bd56fc7fb3866290f0bd19c223f /arch
parentcrypto: rsa-pkcs1pad - fix dst len (diff)
downloadlinux-dev-0851561d9c965df086ef8a53f981f5f95a57c2c8.tar.xz
linux-dev-0851561d9c965df086ef8a53f981f5f95a57c2c8.zip
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>
Diffstat (limited to 'arch')
-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 a8a0224fa0f8..081255cea1ee 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();
}
}