Эх сурвалжийг харах

powerpc/mm/hugetlb: Sanity check gigantic hugepage count

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

Signed-off-by: James Yang <James.Yang@freescale.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
James Yang 10 жил өмнө
parent
commit
c4f3eb5fc5

+ 7 - 0
arch/powerpc/mm/hugetlbpage.c

@@ -355,6 +355,13 @@ static int __init do_gpage_early_setup(char *param, char *val,
 		if (size != 0) {
 		if (size != 0) {
 			if (sscanf(val, "%lu", &npages) <= 0)
 			if (sscanf(val, "%lu", &npages) <= 0)
 				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;
 			gpage_npages[shift_to_mmu_psize(__ffs(size))] = npages;
 			size = 0;
 			size = 0;
 		}
 		}