mirror of https://github.com/torvalds/linux.git
crypto: hisilicon/qm - set NULL to qm->debug.qm_diff_regs
When the initialization of qm->debug.acc_diff_reg fails,
the probe process does not exit. However, after qm->debug.qm_diff_regs is
freed, it is not set to NULL. This can lead to a double free when the
remove process attempts to free it again. Therefore, qm->debug.qm_diff_regs
should be set to NULL after it is freed.
Fixes: 8be0913389 ("crypto: hisilicon/debugfs - Fix debugfs uninit process issue")
Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
64b9642fc2
commit
f0cafb02de
|
|
@ -888,6 +888,7 @@ static int qm_diff_regs_init(struct hisi_qm *qm,
|
||||||
dfx_regs_uninit(qm, qm->debug.qm_diff_regs, ARRAY_SIZE(qm_diff_regs));
|
dfx_regs_uninit(qm, qm->debug.qm_diff_regs, ARRAY_SIZE(qm_diff_regs));
|
||||||
ret = PTR_ERR(qm->debug.acc_diff_regs);
|
ret = PTR_ERR(qm->debug.acc_diff_regs);
|
||||||
qm->debug.acc_diff_regs = NULL;
|
qm->debug.acc_diff_regs = NULL;
|
||||||
|
qm->debug.qm_diff_regs = NULL;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue