Kernel: Make sys$utime() and sys$utimensat() not take the big lock

This commit is contained in:
Andreas Kling 2022-08-22 13:37:07 +02:00
parent 280694bb46
commit 930dedfbd8
Notes: sideshowbarker 2024-07-17 08:03:50 +09:00
3 changed files with 4 additions and 4 deletions

View File

@ -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) \

View File

@ -12,7 +12,7 @@ namespace Kernel {
ErrorOr<FlatPtr> Process::sys$utime(Userspace<char const*> user_path, size_t path_length, Userspace<const struct utimbuf*> 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;

View File

@ -14,7 +14,7 @@ namespace Kernel {
ErrorOr<FlatPtr> Process::sys$utimensat(Userspace<Syscall::SC_utimensat_params const*> 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));