Date: Fri, 1 Nov 2013 11:31:05 -0700 From: Vijay Singh <vijju.singh@gmail.com> To: hackers@freebsd.org Subject: regd. thread ucred update in kern_accessat() Message-ID: <CALCNsJREYyv=PQ0wAL-cibg5-y-dq_TFw7tEM4PheSd-h09Asg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi hackers. In kern_accessat() [I'm looking at 8.2 code], for the case where flags doesn't have AT_EACCESS set, we make a local copy of the thread ucred. This is then passed in to vn_access(). My question is why we update td->td_ucred with this temporary ucred? tmpcred = crdup(cred); tmpcred->cr_uid = cred->cr_ruid; tmpcred->cr_groups[0] = cred->cr_rgid; ==> td->td_ucred = tmpcred; At this point p->p_ucred != td->td_ucred. Couldn't this cause issues? Wouldn't it just suffice to use the tempcred as an argument to vn_access() and leave the thread's ucred intact? -vijay
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALCNsJREYyv=PQ0wAL-cibg5-y-dq_TFw7tEM4PheSd-h09Asg>