Limit the number of gigantic hugepages specified by the
hugepages= parameter to MAX_NUMBER_GPAGES.

Signed-off-by: James Yang <james.y...@freescale.com>
---
 arch/powerpc/mm/hugetlbpage.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c
index d67db4b..5ef84a2 100644
--- a/arch/powerpc/mm/hugetlbpage.c
+++ b/arch/powerpc/mm/hugetlbpage.c
@@ -362,6 +362,13 @@ static int __init do_gpage_early_setup(char *param, char 
*val,
                if (size != 0) {
                        if (sscanf(val, "%lu", &npages) <= 0)
                                npages = 0;
+                       if (npages > MAX_NUMBER_GPAGES) {
+                               pr_warn("MMU: %lu pages requested for page "
+                                       "size %llu KB, limiting to "
+                                       __stringify(MAX_NUMBER_GPAGES) "\n",
+                                       npages, size / 1024);
+                               npages = MAX_NUMBER_GPAGES;
+                       }
                        gpage_npages[shift_to_mmu_psize(__ffs(size))] = npages;
                        size = 0;
                }
-- 
1.7.0.4

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to