Kernel: Mark sys$fchdir() as not needing the big lock

This syscall doesn't access any data that was implicitly protected by
the big lock.
This commit is contained in:
Andreas Kling 2022-03-07 21:26:15 +01:00
parent 156ab0c47d
commit 23822febd2
Notes: sideshowbarker 2024-07-17 17:49:11 +09:00
2 changed files with 2 additions and 2 deletions

View file

@ -71,7 +71,7 @@ enum class NeedsBigProcessLock {
S(execve, NeedsBigProcessLock::Yes) \
S(exit, NeedsBigProcessLock::Yes) \
S(exit_thread, NeedsBigProcessLock::Yes) \
S(fchdir, NeedsBigProcessLock::Yes) \
S(fchdir, NeedsBigProcessLock::No) \
S(fchmod, NeedsBigProcessLock::Yes) \
S(fchown, NeedsBigProcessLock::Yes) \
S(fcntl, NeedsBigProcessLock::Yes) \

View file

@ -23,7 +23,7 @@ ErrorOr<FlatPtr> Process::sys$chdir(Userspace<const char*> user_path, size_t pat
ErrorOr<FlatPtr> Process::sys$fchdir(int fd)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
VERIFY_NO_PROCESS_BIG_LOCK(this);
TRY(require_promise(Pledge::stdio));
auto description = TRY(open_file_description(fd));
if (!description->is_directory())