From 7082a1f0c4f344ffd91fabf229cf3378fe1c0478 Mon Sep 17 00:00:00 2001 From: Liav A Date: Sat, 19 Aug 2023 12:01:42 +0300 Subject: [PATCH] Kernel: Reject all syscalls during the shutdown procedure --- Kernel/Syscalls/SyscallHandler.cpp | 5 +++++ 1 file changed, 5 insertions(+) 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;