diff --git a/kernel/mem.c b/kernel/mem.c index 6e5941fd..d3dc94a6 100644 --- a/kernel/mem.c +++ b/kernel/mem.c @@ -1124,7 +1124,11 @@ static void page_fault_handler(void *fault_addr, uint64_t reason, void *regs) cpu_enable_interrupt(); - error = page_fault_process_vm(thread->vm, fault_addr, reason); + if ((uintptr_t)fault_addr < 4096) { + error = -EINVAL; + } else { + error = page_fault_process_vm(thread->vm, fault_addr, reason); + } if (error) { struct siginfo info;