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 <[email protected]>
---
 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



Reply via email to