Kernel: Mark sys$setpgid as not needing the big lock

This function is already serialized by access to process protected data.
This commit is contained in:
Andreas Kling 2023-04-04 16:54:21 +02:00
parent 84ac957d7a
commit e219662ce0
Notes: sideshowbarker 2024-07-16 23:55:09 +09:00
2 changed files with 2 additions and 2 deletions

View file

@ -165,7 +165,7 @@ enum class NeedsBigProcessLock {
S(setgroups, NeedsBigProcessLock::No) \
S(sethostname, NeedsBigProcessLock::No) \
S(setkeymap, NeedsBigProcessLock::No) \
S(setpgid, NeedsBigProcessLock::Yes) \
S(setpgid, NeedsBigProcessLock::No) \
S(setregid, NeedsBigProcessLock::No) \
S(setresgid, NeedsBigProcessLock::No) \
S(setresuid, NeedsBigProcessLock::No) \

View file

@ -88,7 +88,7 @@ SessionID Process::get_sid_from_pgid(ProcessGroupID pgid)
ErrorOr<FlatPtr> Process::sys$setpgid(pid_t specified_pid, pid_t specified_pgid)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
VERIFY_NO_PROCESS_BIG_LOCK(this);
TRY(require_promise(Pledge::proc));
ProcessID pid = specified_pid ? ProcessID(specified_pid) : this->pid();
if (specified_pgid < 0) {