Commit 79c2fd2a authored by Arvind Sankar's avatar Arvind Sankar Committed by Ingo Molnar

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: default avatarArvind Sankar <nivedita@alum.mit.edu>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20200728225722.67457-11-nivedita@alum.mit.edu
parent bf457be1
...@@ -562,7 +562,7 @@ process_gb_huge_pages(struct mem_vector *region, unsigned long image_size) ...@@ -562,7 +562,7 @@ process_gb_huge_pages(struct mem_vector *region, unsigned long image_size)
size = region->size - (addr - region->start); size = region->size - (addr - region->start);
/* Check how many 1GB huge pages can be filtered out: */ /* 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; size -= PUD_SIZE;
max_gb_huge_pages--; max_gb_huge_pages--;
i++; i++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment