Kernel: Mark sys$open as not needing the big lock

All the individual sub-operations of this syscall are protected by their
own locking mechanisms, so it should be okay to get it off the big lock.
This commit is contained in:
Andreas Kling 2023-04-03 16:00:17 +02:00
commit a7212a7488
Notes: sideshowbarker 2024-07-18 08:59:31 +09:00
2 changed files with 2 additions and 2 deletions

View file

@ -131,7 +131,7 @@ enum class NeedsBigProcessLock {
S(mremap, NeedsBigProcessLock::Yes) \
S(msync, NeedsBigProcessLock::Yes) \
S(munmap, NeedsBigProcessLock::Yes) \
S(open, NeedsBigProcessLock::Yes) \
S(open, NeedsBigProcessLock::No) \
S(perf_event, NeedsBigProcessLock::Yes) \
S(perf_register_string, NeedsBigProcessLock::Yes) \
S(pipe, NeedsBigProcessLock::No) \

View file

@ -16,7 +16,7 @@ namespace Kernel {
ErrorOr<FlatPtr> Process::sys$open(Userspace<Syscall::SC_open_params const*> user_params)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
VERIFY_NO_PROCESS_BIG_LOCK(this);
auto params = TRY(copy_typed_from_user(user_params));
int dirfd = params.dirfd;