Kernel: Mark sys$join_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:13:10 +02:00 committed by Andreas Kling
parent 82e6090f47
commit b44628c1fb
Notes: sideshowbarker 2024-07-17 03:18:29 +09:00
2 changed files with 2 additions and 2 deletions

View file

@ -114,7 +114,7 @@ enum class NeedsBigProcessLock {
S(inode_watcher_add_watch, NeedsBigProcessLock::No) \
S(inode_watcher_remove_watch, NeedsBigProcessLock::No) \
S(ioctl, NeedsBigProcessLock::Yes) \
S(join_thread, NeedsBigProcessLock::Yes) \
S(join_thread, NeedsBigProcessLock::No) \
S(jail_create, NeedsBigProcessLock::No) \
S(jail_attach, NeedsBigProcessLock::No) \
S(kill, NeedsBigProcessLock::No) \

View file

@ -137,7 +137,7 @@ ErrorOr<FlatPtr> Process::sys$detach_thread(pid_t tid)
ErrorOr<FlatPtr> Process::sys$join_thread(pid_t tid, Userspace<void**> exit_value)
{
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));