diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 22eacf423b95..8e95515b74d1 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -3836,10 +3836,13 @@ vm_page_wire(vm_page_t m) { u_int old; - KASSERT(m->object != NULL, - ("vm_page_wire: page %p does not belong to an object", m)); - if (!vm_page_busied(m) && !vm_object_busied(m->object)) - VM_OBJECT_ASSERT_LOCKED(m->object); +#ifdef INVARIANTS + if (m->object != NULL) { + if (!vm_page_busied(m) && !vm_object_busied(m->object)) + VM_OBJECT_ASSERT_LOCKED(m->object); + } else + KASSERT(vm_page_wired(m), ("vm_page_wire: page %p unwired", m)); +#endif KASSERT((m->flags & PG_FICTITIOUS) == 0 || VPRC_WIRE_COUNT(m->ref_count) >= 1, ("vm_page_wire: fictitious page %p has zero wirings", m));