From ed959ff149a5794649312288f87453f63bbbf3c9 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Fri, 2 Jan 2015 17:31:51 +0100 Subject: Handle kernel traps happening before starting userland * i386/i386/trap.c (kernel_trap): When current_thread is null, assume that we are in kernel land. --- i386/i386/trap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i386/i386/trap.c b/i386/i386/trap.c index 9d4d43d..f1fe634 100644 --- a/i386/i386/trap.c +++ b/i386/i386/trap.c @@ -217,9 +217,9 @@ dump_ss(regs); goto badtrap; } } else { - assert(thread); - map = thread->task->map; - if (map == kernel_map) { + if (thread) + map = thread->task->map; + if (!thread || map == kernel_map) { printf("kernel page fault at %08x:\n", subcode); dump_ss(regs); panic("kernel thread accessed user space!\n"); -- cgit v1.2.3