summaryrefslogtreecommitdiff
path: root/Kernel
diff options
context:
space:
mode:
authorIdan Horowitz <idan.horowitz@gmail.com>2021-08-06 15:27:03 +0300
committerAndreas Kling <kling@serenityos.org>2021-08-06 23:36:12 +0200
commitad419a669d1fd71781680246463d9018814997e2 (patch)
treede0e0cd051adb7f7883e0312b71788945ec2e78b /Kernel
parentefeb01e35fccc6ecc0ce0d6c33102dd5379ddf0f (diff)
downloadserenity-ad419a669d1fd71781680246463d9018814997e2.zip
Kernel: Disable big process lock for sys$sysconf
This syscall only reads constant kernel globals, and as such does not need to hold the big lock.
Diffstat (limited to 'Kernel')
-rw-r--r--Kernel/API/Syscall.h2
-rw-r--r--Kernel/Syscalls/sysconf.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h
index 0ee2f8a6dc..50f75daa06 100644
--- a/Kernel/API/Syscall.h
+++ b/Kernel/API/Syscall.h
@@ -181,7 +181,7 @@ enum class NeedsBigProcessLock {
S(ptrace, NeedsBigProcessLock::Yes) \
S(sendfd, NeedsBigProcessLock::Yes) \
S(recvfd, NeedsBigProcessLock::Yes) \
- S(sysconf, NeedsBigProcessLock::Yes) \
+ S(sysconf, NeedsBigProcessLock::No) \
S(set_process_name, NeedsBigProcessLock::Yes) \
S(disown, NeedsBigProcessLock::Yes) \
S(adjtime, NeedsBigProcessLock::Yes) \
diff --git a/Kernel/Syscalls/sysconf.cpp b/Kernel/Syscalls/sysconf.cpp
index 932d4ae4e3..e898d74dfd 100644
--- a/Kernel/Syscalls/sysconf.cpp
+++ b/Kernel/Syscalls/sysconf.cpp
@@ -11,7 +11,7 @@ namespace Kernel {
KResultOr<FlatPtr> Process::sys$sysconf(int name)
{
- VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this)
+ VERIFY_NO_PROCESS_BIG_LOCK(this)
switch (name) {
case _SC_MONOTONIC_CLOCK:
return 1;