From fedba28a93de75e75ff166f2ba34b21fb60b6716 Mon Sep 17 00:00:00 2001 From: Balazs Gerofi Date: Wed, 7 Jun 2017 16:51:50 +0900 Subject: [PATCH] extend_process_region(): fix alignment --- kernel/process.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kernel/process.c b/kernel/process.c index fed0d6d2..dfc20a0e 100644 --- a/kernel/process.c +++ b/kernel/process.c @@ -2035,7 +2035,11 @@ unsigned long extend_process_region(struct process_vm *vm, unsigned long align_p2align = vm->proc->heap_extension > PAGE_SHIFT ? LARGE_PAGE_P2ALIGN : PAGE_P2ALIGN; - new_end_allocated = (address + (vm->proc->heap_extension - 1)) & align_mask; + new_end_allocated = (address + (PAGE_SIZE - 1)) & PAGE_MASK; + if ((new_end_allocated - end_allocated) < vm->proc->heap_extension) { + new_end_allocated = (end_allocated + vm->proc->heap_extension + + (align_size - 1)) & align_mask; + } if (flag & VR_DEMAND_PAGING) { p = 0;