summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChenghai Huang <huangchenghai2@huawei.com>2024-04-07 15:59:55 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2024-04-12 15:07:52 +0800
commit3b7db97e60ac25c1e050a5d3e3a2e6a22c3f7f2d (patch)
treee6b7c4c5b46170fa8e1e563a92e52175de426b62
parent040279e84d4e94d65cd5a9f95f9821e26c72d26e (diff)
downloadlinux-stable-3b7db97e60ac25c1e050a5d3e3a2e6a22c3f7f2d.tar.gz
linux-stable-3b7db97e60ac25c1e050a5d3e3a2e6a22c3f7f2d.tar.bz2
linux-stable-3b7db97e60ac25c1e050a5d3e3a2e6a22c3f7f2d.zip
crypto: hisilicon/debugfs - Fix the processing logic issue in the debugfs creation
There is a scenario where the file directory is created but the file attribute is not set. In this case, if a user accesses the file, an error occurs. So adjust the processing logic in the debugfs creation to prevent the file from being accessed before the file attributes such as the index are set. Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--drivers/crypto/hisilicon/debugfs.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/crypto/hisilicon/debugfs.c b/drivers/crypto/hisilicon/debugfs.c
index 6351a452878d..e9fa42381242 100644
--- a/drivers/crypto/hisilicon/debugfs.c
+++ b/drivers/crypto/hisilicon/debugfs.c
@@ -1090,12 +1090,12 @@ static void qm_create_debugfs_file(struct hisi_qm *qm, struct dentry *dir,
{
struct debugfs_file *file = qm->debug.files + index;
- debugfs_create_file(qm_debug_file_name[index], 0600, dir, file,
- &qm_debug_fops);
-
file->index = index;
mutex_init(&file->lock);
file->debug = &qm->debug;
+
+ debugfs_create_file(qm_debug_file_name[index], 0600, dir, file,
+ &qm_debug_fops);
}
static int qm_debugfs_atomic64_set(void *data, u64 val)