summaryrefslogtreecommitdiff
path: root/Kernel
diff options
context:
space:
mode:
authorLiav A <liavalb@gmail.com>2023-02-25 16:16:09 +0200
committerLinus Groh <mail@linusgroh.de>2023-02-25 15:21:29 +0100
commit8a50c967b83fbadcec94c795a517bee808e36bb8 (patch)
tree6b8f22c80a070f0e653d5a32545816b46e2ccc5e /Kernel
parent41980675f2c8e4060f358042fad101da7dda8695 (diff)
downloadserenity-8a50c967b83fbadcec94c795a517bee808e36bb8.zip
Kernel: Mark sys$prctl() as not needing the big lock
This syscall has sufficient locking and therefore it doesn't need the big lock being taken.
Diffstat (limited to 'Kernel')
-rw-r--r--Kernel/API/Syscall.h2
-rw-r--r--Kernel/Syscalls/prctl.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h
index 342b4daabc..4d32782730 100644
--- a/Kernel/API/Syscall.h
+++ b/Kernel/API/Syscall.h
@@ -136,7 +136,7 @@ enum class NeedsBigProcessLock {
S(pledge, NeedsBigProcessLock::No) \
S(poll, NeedsBigProcessLock::Yes) \
S(posix_fallocate, NeedsBigProcessLock::No) \
- S(prctl, NeedsBigProcessLock::Yes) \
+ S(prctl, NeedsBigProcessLock::No) \
S(profiling_disable, NeedsBigProcessLock::Yes) \
S(profiling_enable, NeedsBigProcessLock::Yes) \
S(profiling_free_buffer, NeedsBigProcessLock::Yes) \
diff --git a/Kernel/Syscalls/prctl.cpp b/Kernel/Syscalls/prctl.cpp
index 08305b89f6..678938ecc3 100644
--- a/Kernel/Syscalls/prctl.cpp
+++ b/Kernel/Syscalls/prctl.cpp
@@ -11,7 +11,7 @@ namespace Kernel {
ErrorOr<FlatPtr> Process::sys$prctl(int option, FlatPtr arg1, [[maybe_unused]] FlatPtr arg2)
{
- VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
+ VERIFY_NO_PROCESS_BIG_LOCK(this);
return with_mutable_protected_data([&](auto& protected_data) -> ErrorOr<FlatPtr> {
switch (option) {
case PR_GET_DUMPABLE: