diff --git a/kernel/mem.c b/kernel/mem.c index c5e0bde4..9d0c374c 100644 --- a/kernel/mem.c +++ b/kernel/mem.c @@ -316,7 +316,7 @@ void *kmalloc(int size, enum ihk_mc_ap_flag flag) while (1) { if (h == &v->free_list) { - req_page = ((u + 1) * sizeof(*h) + PAGE_SIZE - 1) + req_page = ((u + 2) * sizeof(*h) + PAGE_SIZE - 1) >> PAGE_SHIFT; h = allocate_pages(req_page, flag);