1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-23 10:07:40 +00:00

Kernel: Make sys$msyscall() not take the big lock

This function is already serialized by the address space lock.
This commit is contained in:
Andreas Kling 2022-11-05 15:11:34 +01:00
parent cfa5e03108
commit 9c46fb7337
2 changed files with 2 additions and 2 deletions

View file

@ -122,7 +122,7 @@ enum class NeedsBigProcessLock {
S(mprotect, NeedsBigProcessLock::Yes) \ S(mprotect, NeedsBigProcessLock::Yes) \
S(mremap, NeedsBigProcessLock::Yes) \ S(mremap, NeedsBigProcessLock::Yes) \
S(msync, NeedsBigProcessLock::Yes) \ S(msync, NeedsBigProcessLock::Yes) \
S(msyscall, NeedsBigProcessLock::Yes) \ S(msyscall, NeedsBigProcessLock::No) \
S(munmap, NeedsBigProcessLock::Yes) \ S(munmap, NeedsBigProcessLock::Yes) \
S(open, NeedsBigProcessLock::Yes) \ S(open, NeedsBigProcessLock::Yes) \
S(perf_event, NeedsBigProcessLock::Yes) \ S(perf_event, NeedsBigProcessLock::Yes) \

View file

@ -563,7 +563,7 @@ ErrorOr<FlatPtr> Process::sys$allocate_tls(Userspace<char const*> initial_data,
ErrorOr<FlatPtr> Process::sys$msyscall(Userspace<void*> address) ErrorOr<FlatPtr> Process::sys$msyscall(Userspace<void*> address)
{ {
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this); VERIFY_NO_PROCESS_BIG_LOCK(this);
return address_space().with([&](auto& space) -> ErrorOr<FlatPtr> { return address_space().with([&](auto& space) -> ErrorOr<FlatPtr> {
if (space->enforces_syscall_regions()) if (space->enforces_syscall_regions())