summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorChenghai Huang <huangchenghai2@huawei.com>2025-09-13 18:57:54 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-10-15 11:56:36 +0200
commita7836260d5121949ba734e840d42a86ab4a32fcc (patch)
tree1c3bd30f95cca3c2b2860d0f54c51f5f98fa7100 /drivers
parent3a5c5d904ebd1e3c60cdefc3fe4ac27f62a4a59d (diff)
downloadlinux-a7836260d5121949ba734e840d42a86ab4a32fcc.tar.gz
linux-a7836260d5121949ba734e840d42a86ab4a32fcc.tar.bz2
linux-a7836260d5121949ba734e840d42a86ab4a32fcc.zip
crypto: hisilicon/qm - set NULL to qm->debug.qm_diff_regs
[ Upstream commit f0cafb02de883b3b413d34eb079c9680782a9cc1 ] 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: 8be091338971 ("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> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/crypto/hisilicon/debugfs.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/crypto/hisilicon/debugfs.c b/drivers/crypto/hisilicon/debugfs.c
index a1d41ee39816..cb27a44671ca 100644
--- a/drivers/crypto/hisilicon/debugfs.c
+++ b/drivers/crypto/hisilicon/debugfs.c
@@ -815,6 +815,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));
ret = PTR_ERR(qm->debug.acc_diff_regs);
qm->debug.acc_diff_regs = NULL;
+ qm->debug.qm_diff_regs = NULL;
return ret;
}