1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 10:08:10 +00:00

Kernel: Mark sys$chdir() 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 18:00:26 +01:00
parent 7597bef771
commit 156ab0c47d
2 changed files with 2 additions and 2 deletions

View file

@ -52,7 +52,7 @@ enum class NeedsBigProcessLock {
S(anon_create, NeedsBigProcessLock::No) \
S(beep, NeedsBigProcessLock::No) \
S(bind, NeedsBigProcessLock::Yes) \
S(chdir, NeedsBigProcessLock::Yes) \
S(chdir, NeedsBigProcessLock::No) \
S(chmod, NeedsBigProcessLock::Yes) \
S(chown, NeedsBigProcessLock::Yes) \
S(clock_gettime, NeedsBigProcessLock::No) \

View file

@ -12,7 +12,7 @@ namespace Kernel {
ErrorOr<FlatPtr> Process::sys$chdir(Userspace<const char*> user_path, size_t path_length)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
VERIFY_NO_PROCESS_BIG_LOCK(this);
TRY(require_promise(Pledge::rpath));
auto path = TRY(get_syscall_path_argument(user_path, path_length));
return m_current_directory.with([&](auto& current_directory) -> ErrorOr<FlatPtr> {