]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/mm/hugetlb: Filter out hugepage size not supported by page table layout
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Tue, 21 Mar 2017 17:29:56 +0000 (22:59 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 31 Mar 2017 12:09:50 +0000 (23:09 +1100)
commit3130beb95f73333baf5996b7fb45c55fa09b868a
treec4cafaf2be01d541fe5e9d1e89591c680bd74db5
parent838df256f2dbbdf14e8ad03212658d30a51d2a55
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!
.....
....
[c0000000e2c27b30c00000000029dae8 .hugetlb_fault+0x638/0xda0
[c0000000e2c27c30c00000000026fb64 .handle_mm_fault+0x844/0x1d70
[c0000000e2c27d70c00000000004805c .do_page_fault+0x3dc/0x7c0
[c0000000e2c27e30c00000000000ac98 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>
arch/powerpc/mm/hugetlbpage.c