From 65479ae46bf058a89eb4e21478f8b4b592f335a9 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 29 Nov 2015 14:29:06 +0100 Subject: Nicer out of memory condition reporting * vm/vm_object.c (_vm_object_allocate): Return 0 immediately when kmem_cache_alloc returned 0. (vm_object_allocate): Panic when _vm_object_allocate returns 0. --- vm/vm_object.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'vm/vm_object.c') diff --git a/vm/vm_object.c b/vm/vm_object.c index 133181f5..dd63481c 100644 --- a/vm/vm_object.c +++ b/vm/vm_object.c @@ -228,6 +228,8 @@ vm_object_t _vm_object_allocate( vm_object_t object; object = (vm_object_t) kmem_cache_alloc(&vm_object_cache); + if (!object) + return 0; _vm_object_setup(object, size); @@ -241,6 +243,8 @@ vm_object_t vm_object_allocate( ipc_port_t port; object = _vm_object_allocate(size); + if (object == 0) + panic("vm_object_allocate"); port = ipc_port_alloc_kernel(); if (port == IP_NULL) panic("vm_object_allocate"); -- cgit v1.2.3