summaryrefslogtreecommitdiff
path: root/Kernel
diff options
context:
space:
mode:
authorIdan Horowitz <idan.horowitz@gmail.com>2021-08-06 14:27:26 +0300
committerAndreas Kling <kling@serenityos.org>2021-08-06 23:36:12 +0200
commit00818b8447cfe3b87ba1d05a0741b8fc0eb94d8f (patch)
tree3178abdaaf9589b2151984ffd70dd0e8ed00f5ba /Kernel
parentda0b7d17379db0b32d7ea4d816296312178a62b5 (diff)
downloadserenity-00818b8447cfe3b87ba1d05a0741b8fc0eb94d8f.zip
Kernel: Disable big process lock for sys$dump_backtrace()
This syscall only dumps the current thread's backtrace and as such doesn't touch any shared intra-process resources.
Diffstat (limited to 'Kernel')
-rw-r--r--Kernel/API/Syscall.h2
-rw-r--r--Kernel/Syscalls/debug.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h
index 034e18122d..b6fce51ec0 100644
--- a/Kernel/API/Syscall.h
+++ b/Kernel/API/Syscall.h
@@ -144,7 +144,7 @@ enum class NeedsBigProcessLock {
S(reboot, NeedsBigProcessLock::Yes) \
S(mount, NeedsBigProcessLock::Yes) \
S(umount, NeedsBigProcessLock::Yes) \
- S(dump_backtrace, NeedsBigProcessLock::Yes) \
+ S(dump_backtrace, NeedsBigProcessLock::No) \
S(dbgputch, NeedsBigProcessLock::Yes) \
S(dbgputstr, NeedsBigProcessLock::Yes) \
S(create_inode_watcher, NeedsBigProcessLock::Yes) \
diff --git a/Kernel/Syscalls/debug.cpp b/Kernel/Syscalls/debug.cpp
index 5df37e9c03..fcc8165251 100644
--- a/Kernel/Syscalls/debug.cpp
+++ b/Kernel/Syscalls/debug.cpp
@@ -13,7 +13,7 @@ namespace Kernel {
KResultOr<FlatPtr> Process::sys$dump_backtrace()
{
- VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
+ VERIFY_NO_PROCESS_BIG_LOCK(this);
dump_backtrace();
return 0;
}