From 4306422f295d175ffd4ddeabf5cb2432b52723df Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 4 Apr 2022 00:12:57 +0200 Subject: [PATCH] Kernel: Mark sys$clock_settime() as not needing the big log This syscall ends up disabling interrupts while changing the time, and the clock is a global resource anyway, so preventing threads in the same process from running wouldn't solve anything. --- Kernel/API/Syscall.h | 2 +- Kernel/Syscalls/clock.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h index c728fe9e42..a15c46648e 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -53,7 +53,7 @@ enum class NeedsBigProcessLock { S(chown, NeedsBigProcessLock::Yes) \ S(clock_gettime, NeedsBigProcessLock::No) \ S(clock_nanosleep, NeedsBigProcessLock::No) \ - S(clock_settime, NeedsBigProcessLock::Yes) \ + S(clock_settime, NeedsBigProcessLock::No) \ S(close, NeedsBigProcessLock::Yes) \ S(connect, NeedsBigProcessLock::Yes) \ S(create_inode_watcher, NeedsBigProcessLock::Yes) \ diff --git a/Kernel/Syscalls/clock.cpp b/Kernel/Syscalls/clock.cpp index 55c4f39945..74af99263f 100644 --- a/Kernel/Syscalls/clock.cpp +++ b/Kernel/Syscalls/clock.cpp @@ -35,7 +35,7 @@ ErrorOr Process::sys$clock_gettime(clockid_t clock_id, Userspace Process::sys$clock_settime(clockid_t clock_id, Userspace user_ts) { - VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this); + VERIFY_NO_PROCESS_BIG_LOCK(this); TRY(require_promise(Pledge::settime)); if (!is_superuser())