From 930dedfbd82767caa52b1f27b2cdc29ac2e8a5eb Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 22 Aug 2022 13:37:07 +0200 Subject: [PATCH] Kernel: Make sys$utime() and sys$utimensat() not take the big lock --- Kernel/API/Syscall.h | 4 ++-- Kernel/Syscalls/utime.cpp | 2 +- Kernel/Syscalls/utimensat.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h index 8355fd3ac2..df2936d2c5 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -187,8 +187,8 @@ enum class NeedsBigProcessLock { S(uname, NeedsBigProcessLock::No) \ S(unlink, NeedsBigProcessLock::No) \ S(unveil, NeedsBigProcessLock::No) \ - S(utime, NeedsBigProcessLock::Yes) \ - S(utimensat, NeedsBigProcessLock::Yes) \ + S(utime, NeedsBigProcessLock::No) \ + S(utimensat, NeedsBigProcessLock::No) \ S(waitid, NeedsBigProcessLock::Yes) \ S(write, NeedsBigProcessLock::Yes) \ S(writev, NeedsBigProcessLock::Yes) \ diff --git a/Kernel/Syscalls/utime.cpp b/Kernel/Syscalls/utime.cpp index a0e4d2a188..2c58a4b693 100644 --- a/Kernel/Syscalls/utime.cpp +++ b/Kernel/Syscalls/utime.cpp @@ -12,7 +12,7 @@ namespace Kernel { ErrorOr Process::sys$utime(Userspace user_path, size_t path_length, Userspace user_buf) { - VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this); + VERIFY_NO_PROCESS_BIG_LOCK(this); TRY(require_promise(Pledge::fattr)); auto path = TRY(get_syscall_path_argument(user_path, path_length)); utimbuf buf; diff --git a/Kernel/Syscalls/utimensat.cpp b/Kernel/Syscalls/utimensat.cpp index 26d8a4704f..d491aae670 100644 --- a/Kernel/Syscalls/utimensat.cpp +++ b/Kernel/Syscalls/utimensat.cpp @@ -14,7 +14,7 @@ namespace Kernel { ErrorOr Process::sys$utimensat(Userspace user_params) { - VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this); + VERIFY_NO_PROCESS_BIG_LOCK(this); TRY(require_promise(Pledge::fattr)); auto params = TRY(copy_typed_from_user(user_params));