diff --git a/mm/memory.c b/mm/memory.c index e33b5202..627c569d 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -185,6 +185,9 @@ static size_t task_get_pages(task_t* task, uint32_t npages) if (BUILTIN_EXPECT(!npages, 0)) return ret; + if (BUILTIN_EXPECT(npages > total_available_pages, 0)) + return ret; + spinlock_lock(&bitmap_lock); i = alloc_start; next_try: