summaryrefslogtreecommitdiffstats
path: root/drivers/fsi
diff options
context:
space:
mode:
authorJiasheng Jiang <jiasheng@iscas.ac.cn>2022-01-11 15:34:11 +0800
committerJoel Stanley <joel@jms.id.au>2022-09-28 21:10:57 +0930
commit35af9fb49bc5c6d61ef70b501c3a56fe161cce3e (patch)
treeaf342474cb4eba49b16d434825e5db7ced98be3a /drivers/fsi
parent89a286fb153643b9b0f6e78160857f86eef16ba5 (diff)
downloadlinux-stable-35af9fb49bc5c6d61ef70b501c3a56fe161cce3e.tar.gz
linux-stable-35af9fb49bc5c6d61ef70b501c3a56fe161cce3e.tar.bz2
linux-stable-35af9fb49bc5c6d61ef70b501c3a56fe161cce3e.zip
fsi: core: Check error number after calling ida_simple_get
If allocation fails, the ida_simple_get() will return error number. So master->idx could be error number and be used in dev_set_name(). Therefore, it should be better to check it and return error if fails, like the ida_simple_get() in __fsi_get_new_minor(). Fixes: 09aecfab93b8 ("drivers/fsi: Add fsi master definition") Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> Reviewed-by: Eddie James <eajames@linux.ibm.com> Link: https://lore.kernel.org/r/20220111073411.614138-1-jiasheng@iscas.ac.cn Signed-off-by: Joel Stanley <joel@jms.id.au>
Diffstat (limited to 'drivers/fsi')
-rw-r--r--drivers/fsi/fsi-core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/fsi/fsi-core.c b/drivers/fsi/fsi-core.c
index 0d11a17c53a0..694e80c06665 100644
--- a/drivers/fsi/fsi-core.c
+++ b/drivers/fsi/fsi-core.c
@@ -1314,6 +1314,9 @@ int fsi_master_register(struct fsi_master *master)
mutex_init(&master->scan_lock);
master->idx = ida_simple_get(&master_ida, 0, INT_MAX, GFP_KERNEL);
+ if (master->idx < 0)
+ return master->idx;
+
dev_set_name(&master->dev, "fsi%d", master->idx);
master->dev.class = &fsi_master_class;