mirror of
https://github.com/RGBCube/serenity
synced 2025-05-30 15:18:11 +00:00
Kernel: Mark sys$munmap 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:
parent
d1082a00b7
commit
db10f201c8
2 changed files with 2 additions and 2 deletions
|
@ -130,7 +130,7 @@ enum class NeedsBigProcessLock {
|
||||||
S(mprotect, NeedsBigProcessLock::No) \
|
S(mprotect, NeedsBigProcessLock::No) \
|
||||||
S(mremap, NeedsBigProcessLock::Yes) \
|
S(mremap, NeedsBigProcessLock::Yes) \
|
||||||
S(msync, NeedsBigProcessLock::Yes) \
|
S(msync, NeedsBigProcessLock::Yes) \
|
||||||
S(munmap, NeedsBigProcessLock::Yes) \
|
S(munmap, NeedsBigProcessLock::No) \
|
||||||
S(open, NeedsBigProcessLock::No) \
|
S(open, NeedsBigProcessLock::No) \
|
||||||
S(perf_event, NeedsBigProcessLock::Yes) \
|
S(perf_event, NeedsBigProcessLock::Yes) \
|
||||||
S(perf_register_string, NeedsBigProcessLock::Yes) \
|
S(perf_register_string, NeedsBigProcessLock::Yes) \
|
||||||
|
|
|
@ -470,7 +470,7 @@ ErrorOr<FlatPtr> Process::sys$set_mmap_name(Userspace<Syscall::SC_set_mmap_name_
|
||||||
|
|
||||||
ErrorOr<FlatPtr> Process::sys$munmap(Userspace<void*> addr, size_t size)
|
ErrorOr<FlatPtr> Process::sys$munmap(Userspace<void*> addr, size_t size)
|
||||||
{
|
{
|
||||||
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
|
VERIFY_NO_PROCESS_BIG_LOCK(this);
|
||||||
TRY(require_promise(Pledge::stdio));
|
TRY(require_promise(Pledge::stdio));
|
||||||
TRY(address_space().with([&](auto& space) {
|
TRY(address_space().with([&](auto& space) {
|
||||||
return space->unmap_mmap_range(addr.vaddr(), size);
|
return space->unmap_mmap_range(addr.vaddr(), size);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue