1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 12:48:10 +00:00

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

All accesses to shared mutable data are already serialized behind the
process address space spinlock.
This commit is contained in:
Idan Horowitz 2023-04-04 14:16:24 +03:00
parent 1dae6a2e4a
commit 3f89a1b131
2 changed files with 2 additions and 1 deletions

View file

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

View file

@ -606,6 +606,7 @@ ErrorOr<FlatPtr> Process::sys$annotate_mapping(Userspace<void*> address, int fla
ErrorOr<FlatPtr> Process::sys$msync(Userspace<void*> address, size_t size, int flags)
{
VERIFY_NO_PROCESS_BIG_LOCK(this);
if ((flags & (MS_SYNC | MS_ASYNC | MS_INVALIDATE)) != flags)
return EINVAL;