From 0d63bfcc0e47699626e4a1631a16538afc1fd552 Mon Sep 17 00:00:00 2001 From: Matheus Date: Mon, 19 Sep 2022 18:36:23 -0300 Subject: [PATCH] panic: don't trace non-kernel addresses and disable interrupts on panic --- src/arch/x86_64/panic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/arch/x86_64/panic.c b/src/arch/x86_64/panic.c index d961b4e8..e6d4c8ff 100644 --- a/src/arch/x86_64/panic.c +++ b/src/arch/x86_64/panic.c @@ -9,7 +9,7 @@ static void tracestack(uint64_t** addr){ for(size_t depth = 0; depth < TRACE_MAXDEPTH; ++depth){ - + if(addr < (uint64_t)0xFFFFFFFF80000000) return; uint64_t *calleeaddr = *(addr + 1); addr = (uint64_t**)*addr; @@ -20,7 +20,7 @@ static void tracestack(uint64_t** addr){ } __attribute((noreturn)) void _panic(char* reason, arch_regs *reg){ - + asm volatile("cli"); printf("PANIC: %s\n", reason); // XXX maybe this should be an NMI?