]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
crypto: hisilicon/qm - set NULL to qm->debug.qm_diff_regs
authorChenghai Huang <huangchenghai2@huawei.com>
Sat, 13 Sep 2025 10:57:54 +0000 (18:57 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 20 Sep 2025 12:21:04 +0000 (20:21 +0800)
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>
drivers/crypto/hisilicon/debugfs.c

index 45e130b901eb5e7ae4605459ce54e624f0fece49..17eb236e9ee4d5d99a237ffd10bd3d342b3d4e19 100644 (file)
@@ -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));
                ret = PTR_ERR(qm->debug.acc_diff_regs);
                qm->debug.acc_diff_regs = NULL;
+               qm->debug.qm_diff_regs = NULL;
                return ret;
        }