powerpc/mm/hugetlb: Filter out hugepage size not supported by page table layout
Without this if firmware reports 1MB page size support we will crash
trying to use 1MB as hugetlb page size.
echo 300 > /sys/kernel/mm/hugepages/hugepages-1024kB/nr_hugepages
kernel BUG at ./arch/powerpc/include/asm/hugetlb.h:19!
.....
....
[
c0000000e2c27b30]
c00000000029dae8 .hugetlb_fault+0x638/0xda0
[
c0000000e2c27c30]
c00000000026fb64 .handle_mm_fault+0x844/0x1d70
[
c0000000e2c27d70]
c00000000004805c .do_page_fault+0x3dc/0x7c0
[
c0000000e2c27e30]
c00000000000ac98 handle_page_fault+0x10/0x30
With fix, we don't enable 1MB as hugepage size.
bash-4.2# cd /sys/kernel/mm/hugepages/
bash-4.2# ls
hugepages-16384kB hugepages-16777216kB
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>