From: Arvind Sankar Date: Tue, 28 Jul 2020 22:57:11 +0000 (-0400) Subject: x86/kaslr: Fix off-by-one error in process_gb_huge_pages() X-Git-Tag: v5.10.7~1490^2~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=79c2fd2afe55944098047721c33e06fd48654e57;p=platform%2Fkernel%2Flinux-rpi.git x86/kaslr: Fix off-by-one error in process_gb_huge_pages() If the remaining size of the region is exactly 1Gb, there is still one hugepage that can be reserved. Signed-off-by: Arvind Sankar Signed-off-by: Ingo Molnar Link: https://lore.kernel.org/r/20200728225722.67457-11-nivedita@alum.mit.edu --- diff --git a/arch/x86/boot/compressed/kaslr.c b/arch/x86/boot/compressed/kaslr.c index d074986..0df513e 100644 --- a/arch/x86/boot/compressed/kaslr.c +++ b/arch/x86/boot/compressed/kaslr.c @@ -562,7 +562,7 @@ process_gb_huge_pages(struct mem_vector *region, unsigned long image_size) size = region->size - (addr - region->start); /* Check how many 1GB huge pages can be filtered out: */ - while (size > PUD_SIZE && max_gb_huge_pages) { + while (size >= PUD_SIZE && max_gb_huge_pages) { size -= PUD_SIZE; max_gb_huge_pages--; i++;