diff --git a/Kernel/KSyms.cpp b/Kernel/KSyms.cpp index 95d2feca21..16c4fc538f 100644 --- a/Kernel/KSyms.cpp +++ b/Kernel/KSyms.cpp @@ -125,11 +125,11 @@ static void load_ksyms_from_data(const ByteBuffer& buffer) } } -void dump_backtrace(bool use_ksyms) +void dump_backtrace() { dword ebp; asm volatile("movl %%ebp, %%eax":"=a"(ebp)); - dump_backtrace_impl(ebp, use_ksyms); + dump_backtrace_impl(ebp, ksyms_ready); } void init_ksyms() diff --git a/Kernel/KSyms.h b/Kernel/KSyms.h index 567f9e273e..3d35dcc75d 100644 --- a/Kernel/KSyms.h +++ b/Kernel/KSyms.h @@ -16,4 +16,4 @@ extern bool ksyms_ready; extern dword ksym_lowest_address; extern dword ksym_highest_address; -void dump_backtrace(bool use_ksyms); +void dump_backtrace(); diff --git a/Kernel/Lock.h b/Kernel/Lock.h index 7d4f7b3e80..c61df5f647 100644 --- a/Kernel/Lock.h +++ b/Kernel/Lock.h @@ -53,7 +53,7 @@ private: { if (!are_interrupts_enabled()) { kprintf("Interrupts disabled when trying to take Lock{%s}\n", m_name); - dump_backtrace(ksyms_ready); + dump_backtrace(); hang(); } ASSERT(!Scheduler::is_active()); diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index 0e2c09095b..98be49edf6 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -642,7 +642,7 @@ void Process::sys$exit(int status) kprintf("sys$exit: %s(%u) exit with status %d\n", name().characters(), pid(), status); #endif - dump_backtrace(ksyms_ready); + dump_backtrace(); m_termination_status = status; m_termination_signal = 0; diff --git a/Kernel/i386.cpp b/Kernel/i386.cpp index 4280ec9a7b..7e4953f591 100644 --- a/Kernel/i386.cpp +++ b/Kernel/i386.cpp @@ -281,7 +281,7 @@ void exception_14_handler(RegisterDumpWithExceptionCode& regs) regs.exception_code & 2 ? "write" : "read", faultAddress); dump(regs); - dump_backtrace(ksyms_ready); + dump_backtrace(); current->process().crash(); } else if (response == PageFaultResponse::Continue) { #ifdef PAGE_FAULT_DEBUG @@ -491,8 +491,7 @@ void __assertion_failed(const char* msg, const char* file, unsigned line, const { asm volatile("cli"); kprintf("ASSERTION FAILED: %s\n%s:%u in %s\n", msg, file, line, func); - extern void dump_backtrace(bool); - dump_backtrace(true); + dump_backtrace(); asm volatile("hlt"); for (;;); } diff --git a/Kernel/kmalloc.cpp b/Kernel/kmalloc.cpp index af65f5f341..c00e9c139c 100644 --- a/Kernel/kmalloc.cpp +++ b/Kernel/kmalloc.cpp @@ -99,14 +99,14 @@ void* kmalloc_impl(size_t size) if (g_dump_kmalloc_stacks && ksyms_ready) { dbgprintf("kmalloc(%u)\n", size); - dump_backtrace(true); + dump_backtrace(); } // We need space for the allocation_t structure at the head of the block. size_t real_size = size + sizeof(allocation_t); if (sum_free < real_size) { - dump_backtrace(ksyms_ready); + dump_backtrace(); kprintf("%s(%u) kmalloc(): PANIC! Out of memory (sucks, dude)\nsum_free=%u, real_size=%u\n", current->process().name().characters(), current->pid(), sum_free, real_size); hang(); } @@ -160,7 +160,7 @@ void* kmalloc_impl(size_t size) } kprintf("%s(%u) kmalloc(): PANIC! Out of memory (no suitable block for size %u)\n", current->process().name().characters(), current->pid(), size); - dump_backtrace(ksyms_ready); + dump_backtrace(); hang(); }