Date: Sat, 16 Jan 2016 22:58:19 +0300 From: Chagin Dmitry <dchagin@freebsd.org> To: freebsd-hackers@freebsd.org Subject: irrelevant locking Message-ID: <20160116195819.GA41610@chd.heemeyer.club>
next in thread | raw e-mail | index | archive | help
hi, please, can someone explain the reason to take the process lock here: int sys_issetugid(register struct thread *td, struct issetugid_args *uap) { struct proc *p = td->td_proc; /* * Note: OpenBSD sets a P_SUGIDEXEC flag set at execve() time, * we use P_SUGID because we consider changing the owners as * "tainting" as well. * This is significant for procs that start as root and "become" * a user without an exec - programs cannot know *everything* * that libc *might* have put in their data segment. */ PROC_LOCK(p); td->td_retval[0] = (p->p_flag & P_SUGID) ? 1 : 0; PROC_UNLOCK(p); return (0); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160116195819.GA41610>