summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIdan Horowitz <idan.horowitz@gmail.com>2023-04-04 14:02:39 +0300
committerIdan Horowitz <idan.horowitz@gmail.com>2023-04-06 20:30:03 +0300
commit0b14081ae191d5fcbd831ad8542a22632aa18f93 (patch)
treef5b3fbb3cffca0946f16ae1105f9bbf2400e846c
parent0e564240a63ae7d85c91fce85af63fb71d24c794 (diff)
downloadserenity-0b14081ae191d5fcbd831ad8542a22632aa18f93.zip
Kernel: Mark sys$map_time_page as not needing the big lock
All accesses to shared mutable data are already serialized behind the process address space spinlock.
-rw-r--r--Kernel/API/Syscall.h2
-rw-r--r--Kernel/Syscalls/clock.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h
index dec6baa4b5..a7f134eec9 100644
--- a/Kernel/API/Syscall.h
+++ b/Kernel/API/Syscall.h
@@ -122,7 +122,7 @@ enum class NeedsBigProcessLock {
S(listen, NeedsBigProcessLock::No) \
S(lseek, NeedsBigProcessLock::No) \
S(madvise, NeedsBigProcessLock::No) \
- S(map_time_page, NeedsBigProcessLock::Yes) \
+ S(map_time_page, NeedsBigProcessLock::No) \
S(mkdir, NeedsBigProcessLock::No) \
S(mknod, NeedsBigProcessLock::No) \
S(mmap, NeedsBigProcessLock::Yes) \
diff --git a/Kernel/Syscalls/clock.cpp b/Kernel/Syscalls/clock.cpp
index 8dc4571e71..b8ab20c97f 100644
--- a/Kernel/Syscalls/clock.cpp
+++ b/Kernel/Syscalls/clock.cpp
@@ -12,7 +12,7 @@ namespace Kernel {
ErrorOr<FlatPtr> Process::sys$map_time_page()
{
- VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
+ VERIFY_NO_PROCESS_BIG_LOCK(this);
TRY(require_promise(Pledge::stdio));
auto& vmobject = TimeManagement::the().time_page_vmobject();