[PATCH] hugetlbfs: fix error handling in init_hugetlbfs_fs()

From: Chengguang Xu
Date: Thu Oct 17 2019 - 06:39:27 EST


In order to avoid using incorrect mnt, we should set
mnt to NULL when we get error from mount_one_hugetlbfs().

Signed-off-by: Chengguang Xu <cgxu519@xxxxxxxxxxxx>
---
fs/hugetlbfs/inode.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index a478df035651..427d845e7706 100644
--- a/fs/hugetlbfs/inode.c
+++ b/fs/hugetlbfs/inode.c
@@ -1470,9 +1470,12 @@ static int __init init_hugetlbfs_fs(void)
i = 0;
for_each_hstate(h) {
mnt = mount_one_hugetlbfs(h);
- if (IS_ERR(mnt) && i == 0) {
- error = PTR_ERR(mnt);
- goto out;
+ if (IS_ERR(mnt)) {
+ if (i == 0) {
+ error = PTR_ERR(mnt);
+ goto out;
+ }
+ mnt = NULL;
}
hugetlbfs_vfsmount[i] = mnt;
i++;
--
2.20.1