diff options
author | Andreas Kling <kling@serenityos.org> | 2020-02-21 19:05:45 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-02-21 19:05:45 +0100 |
commit | b298c01e9291caa10ebf8c6e3bdff293cb2d692b (patch) | |
tree | b5b8c5e4e2d8bd8e6a188eae06a433f1f6013988 /Kernel | |
parent | c4c1ad22893ba796d0e82185db500c712e51ef82 (diff) | |
download | serenity-b298c01e9291caa10ebf8c6e3bdff293cb2d692b.zip |
Kernel: Log instead of crashing when getting a page fault during IRQ
This is definitely a bug, but it seems to happen randomly every now
and then and we need more info to track it down, so let's log for now.
Diffstat (limited to 'Kernel')
-rw-r--r-- | Kernel/VM/MemoryManager.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Kernel/VM/MemoryManager.cpp b/Kernel/VM/MemoryManager.cpp index c9a1846733..58f24a7cbc 100644 --- a/Kernel/VM/MemoryManager.cpp +++ b/Kernel/VM/MemoryManager.cpp @@ -296,7 +296,8 @@ PageFaultResponse MemoryManager::handle_page_fault(const PageFault& fault) { ASSERT_INTERRUPTS_DISABLED(); ASSERT(Thread::current); - ASSERT(!g_in_irq); + if (g_in_irq) + dbg() << "BUG! Page fault while handling IRQ! code=" << fault.code() << ", vaddr=" << fault.vaddr(); #ifdef PAGE_FAULT_DEBUG dbgprintf("MM: handle_page_fault(%w) at V%p\n", fault.code(), fault.vaddr().get()); #endif |