Commit f6a93797 authored by Xiaodong Liu's avatar Xiaodong Liu Committed by Sasha Levin

crypto: sha1-mb - use corrcet pointer while completing jobs

[ Upstream commit 0851561d ]

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: default avatarXiaodong Liu <xiaodong.liu@intel.com>
Acked-by: default avatarTim Chen <tim.c.chen@linux.intel.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
parent 56c61a30
...@@ -456,10 +456,10 @@ static int sha_complete_job(struct mcryptd_hash_request_ctx *rctx, ...@@ -456,10 +456,10 @@ static int sha_complete_job(struct mcryptd_hash_request_ctx *rctx,
req = cast_mcryptd_ctx_to_req(req_ctx); req = cast_mcryptd_ctx_to_req(req_ctx);
if (irqs_disabled()) if (irqs_disabled())
rctx->complete(&req->base, ret); req_ctx->complete(&req->base, ret);
else { else {
local_bh_disable(); local_bh_disable();
rctx->complete(&req->base, ret); req_ctx->complete(&req->base, ret);
local_bh_enable(); local_bh_enable();
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment