crypto: qce - fix uaf on qce_skcipher_register_one
[ Upstream commit e9c195aaeed1b45c9012adbe29dedb6031e85aa8 ]
Pointer alg points to sub field of tmpl, it
is dereferenced after tmpl is freed. Fix
this by accessing alg before free tmpl.
Fixes: ec8f5d8f
("crypto: qce - Qualcomm crypto engine driver")
Signed-off-by: Chengfeng Ye <cyeaa@connect.ust.hk>
Acked-by: Thara Gopinath <thara.gopinath@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
e19b3c1b57
commit
867d4ace48
@@ -433,8 +433,8 @@ static int qce_skcipher_register_one(const struct qce_skcipher_def *def,
|
|||||||
|
|
||||||
ret = crypto_register_skcipher(alg);
|
ret = crypto_register_skcipher(alg);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
kfree(tmpl);
|
|
||||||
dev_err(qce->dev, "%s registration failed\n", alg->base.cra_name);
|
dev_err(qce->dev, "%s registration failed\n", alg->base.cra_name);
|
||||||
|
kfree(tmpl);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user