summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_page.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/vm/vm_page.c')
-rw-r--r--sys/vm/vm_page.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index 4e68410..622f5fd 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -1026,8 +1026,11 @@ vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int req)
mtx_unlock(&vm_page_queue_free_mtx);
return (NULL);
}
- vm_phys_unfree_page(m);
- vm_phys_set_pool(VM_FREEPOOL_DEFAULT, m, 0);
+ if (vm_phys_unfree_page(m))
+ vm_phys_set_pool(VM_FREEPOOL_DEFAULT, m, 0);
+ else
+ panic("vm_page_alloc: cache page %p is missing"
+ " from the free queue", m);
} else if ((req & VM_ALLOC_IFCACHED) != 0) {
mtx_unlock(&vm_page_queue_free_mtx);
return (NULL);
OpenPOWER on IntegriCloud