diff --git a/Kernel/Syscalls/SyscallHandler.cpp b/Kernel/Syscalls/SyscallHandler.cpp index ceb925633f5..a8f28a740d6 100644 --- a/Kernel/Syscalls/SyscallHandler.cpp +++ b/Kernel/Syscalls/SyscallHandler.cpp @@ -18,6 +18,8 @@ namespace Kernel { +extern bool g_in_system_shutdown; + namespace Syscall { using Handler = auto (Process::*)(FlatPtr, FlatPtr, FlatPtr, FlatPtr) -> ErrorOr; @@ -43,6 +45,9 @@ ErrorOr handle(RegisterState& regs, FlatPtr function, FlatPtr arg1, Fla PerformanceManager::add_syscall_event(*current_thread, regs); + if (g_in_system_shutdown) + return ENOSYS; + if (function >= Function::__Count) { dbgln("Unknown syscall {} requested ({:p}, {:p}, {:p}, {:p})", function, arg1, arg2, arg3, arg4); return ENOSYS;