Browse Source

Kernel: Panic on syscall from process with IOPL != 0

If this happens then the kernel is in an undefined state, so we should
rather panic than attempt to limp along.
Andreas Kling 4 years ago
parent
commit
3131281747
1 changed files with 2 additions and 3 deletions
  1. 2 3
      Kernel/Syscall.cpp

+ 2 - 3
Kernel/Syscall.cpp

@@ -26,6 +26,7 @@
 
 #include <Kernel/API/Syscall.h>
 #include <Kernel/Arch/i386/CPU.h>
+#include <Kernel/Panic.h>
 #include <Kernel/Process.h>
 #include <Kernel/Random.h>
 #include <Kernel/ThreadTracer.h>
@@ -165,9 +166,7 @@ void syscall_handler(TrapFrame* trap)
     static constexpr u32 iopl_mask = 3u << 12;
 
     if ((regs.eflags & (iopl_mask)) != 0) {
-        dbgln("Syscall from process with IOPL != 0");
-        handle_crash(regs, "Non-zero IOPL on syscall entry", SIGSEGV);
-        ASSERT_NOT_REACHED();
+        PANIC("Syscall from process with IOPL != 0");
     }
 
     if (!MM.validate_user_stack(process, VirtualAddress(regs.userspace_esp))) {