diff --git a/src/system/kernel/vm/vm_page.cpp b/src/system/kernel/vm/vm_page.cpp index b6eb259536..82c0e80611 100644 --- a/src/system/kernel/vm/vm_page.cpp +++ b/src/system/kernel/vm/vm_page.cpp @@ -770,8 +770,12 @@ set_page_state_nolock(vm_page *page, int pageState) if (sPageDeficit > 0) sFreePageCondition.NotifyOne(); - if (pageState != PAGE_STATE_INACTIVE && page->cache != NULL) - panic("to be freed page %p has cache", page); + if (pageState != PAGE_STATE_INACTIVE) { + if (page->cache != NULL) + panic("to be freed page %p has cache", page); + if (!page->mappings.IsEmpty() || page->wired_count > 0) + panic("to be freed page %p has mappings", page); + } } if (page->cache != NULL && page->cache->temporary) { if (pageState == PAGE_STATE_MODIFIED)