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>
