mm/hugetlbfs: fix for_each_hstate() loop in init_hugetlbfs_fs()
commit1cab43eb6137928106364340a5287b29ce3552f1
authorJan Stancek <jstancek@redhat.com>
Fri, 3 Jan 2020 17:37:18 +0000 (3 18:37 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 4 Jan 2020 18:19:19 +0000 (4 19:19 +0100)
tree26a81f05f0879a247d2af294673c260f98f3f416
parent596180c2110c1848fe2ccf885245745658d98079
mm/hugetlbfs: fix for_each_hstate() loop in init_hugetlbfs_fs()

commit 15f0ec941f4f908fefa23a30ded8358977cc1cc0 upstream.

LTP memfd_create04 started failing for some huge page sizes
after v5.4-10135-gc3bfc5dd73c6.

The problem is the check introduced to for_each_hstate() loop that
should skip default_hstate_idx.  Since it doesn't update 'i' counter,
all subsequent huge page sizes are skipped as well.

Fixes: 8fc312b32b25 ("mm/hugetlbfs: fix error handling when setting up mounts")
Signed-off-by: Jan Stancek <jstancek@redhat.com>
Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/hugetlbfs/inode.c