From a14768c49afda56f3315c8725285ac3247979437 Mon Sep 17 00:00:00 2001 From: NAKAMURA Gou Date: Fri, 18 Sep 2015 17:21:35 +0900 Subject: [PATCH] kmalloc: fix missing unlock on out-of-memory path --- kernel/mem.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/mem.c b/kernel/mem.c index e961d3ad..9b33963e 100644 --- a/kernel/mem.c +++ b/kernel/mem.c @@ -983,8 +983,11 @@ void *___kmalloc(int size, enum ihk_mc_ap_flag flag) >> PAGE_SHIFT; h = allocate_pages(req_page, flag); - if(h == NULL) + if(h == NULL) { + kprintf("kmalloc(%#x,%#x): out of memory\n", size, flag); + ihk_mc_spinlock_unlock(&v->free_list_lock, flags); return NULL; + } h->check = 0x5a5a5a5a; prev->next = h; h->size = (req_page * PAGE_SIZE) / sizeof(*h) - 2;