Kernel: Don't symbolicate stack traces in IRQ handlers

If we're capturing a stack trace in an IRQ handler, don't try to
symbolicate it as we may not be able to access all pages.
This commit is contained in:
Tom 2020-09-15 13:50:47 -06:00 committed by Andreas Kling
commit f6d1e45bf3
Notes: sideshowbarker 2024-07-19 02:23:29 +09:00

View file

@ -857,7 +857,11 @@ String Thread::backtrace_impl()
Vector<RecognizedSymbol, 128> recognized_symbols;
auto& process = const_cast<Process&>(this->process());
auto elf_bundle = process.elf_bundle();
OwnPtr<Process::ELFBundle> elf_bundle;
if (!Processor::current().in_irq()) {
// If we're handling IRQs we can't really safely symbolicate
elf_bundle = process.elf_bundle();
}
ProcessPagingScope paging_scope(process);
// To prevent a context switch involving this thread, which may happen