From 10ce896d4fff1fda789c860f8d6594c2dd5f4020 Mon Sep 17 00:00:00 2001 From: Brian Gianforcaro Date: Sun, 18 Jul 2021 11:27:13 -0700 Subject: [PATCH] Kernel: Disable big process lock in sys$gethostname() sys$sethostname() --- Kernel/API/Syscall.h | 4 ++-- Kernel/Syscalls/hostname.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h index a0f63d63377..2cb54555df0 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -64,8 +64,8 @@ enum class NeedsBigProcessLock { S(get_dir_entries, NeedsBigProcessLock::Yes) \ S(getcwd, NeedsBigProcessLock::Yes) \ S(gettimeofday, NeedsBigProcessLock::Yes) \ - S(gethostname, NeedsBigProcessLock::Yes) \ - S(sethostname, NeedsBigProcessLock::Yes) \ + S(gethostname, NeedsBigProcessLock::No) \ + S(sethostname, NeedsBigProcessLock::No) \ S(chdir, NeedsBigProcessLock::Yes) \ S(uname, NeedsBigProcessLock::Yes) \ S(set_mmap_name, NeedsBigProcessLock::Yes) \ diff --git a/Kernel/Syscalls/hostname.cpp b/Kernel/Syscalls/hostname.cpp index 14f9f697b80..2d9376ddbc0 100644 --- a/Kernel/Syscalls/hostname.cpp +++ b/Kernel/Syscalls/hostname.cpp @@ -13,7 +13,7 @@ extern Mutex* g_hostname_lock; KResultOr Process::sys$gethostname(Userspace buffer, size_t size) { - VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this) + VERIFY_NO_PROCESS_BIG_LOCK(this) REQUIRE_PROMISE(stdio); if (size > NumericLimits::max()) return EINVAL; @@ -27,7 +27,7 @@ KResultOr Process::sys$gethostname(Userspace buffer, size_t size KResultOr Process::sys$sethostname(Userspace hostname, size_t length) { - VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this) + VERIFY_NO_PROCESS_BIG_LOCK(this) REQUIRE_NO_PROMISES; if (!is_superuser()) return EPERM;