Kernel: Mark sys$detach_thread as not needing the big process lock

This syscall does not access any big process lock protected resources.
This commit is contained in:
Idan Horowitz 2023-12-16 13:09:17 +02:00 committed by Andreas Kling
parent b49a0e2c61
commit 82e6090f47
Notes: sideshowbarker 2024-07-17 01:10:58 +09:00
2 changed files with 2 additions and 2 deletions

View File

@ -65,7 +65,7 @@ enum class NeedsBigProcessLock {
S(create_inode_watcher, NeedsBigProcessLock::No) \
S(create_thread, NeedsBigProcessLock::No) \
S(dbgputstr, NeedsBigProcessLock::No) \
S(detach_thread, NeedsBigProcessLock::Yes) \
S(detach_thread, NeedsBigProcessLock::No) \
S(disown, NeedsBigProcessLock::No) \
S(dump_backtrace, NeedsBigProcessLock::No) \
S(dup2, NeedsBigProcessLock::No) \

View File

@ -125,7 +125,7 @@ void Process::sys$exit_thread(Userspace<void*> exit_value, Userspace<void*> stac
ErrorOr<FlatPtr> Process::sys$detach_thread(pid_t tid)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
VERIFY_NO_PROCESS_BIG_LOCK(this);
TRY(require_promise(Pledge::thread));
auto thread = TRY(get_thread_from_thread_list(tid));
if (!thread->is_joinable())