I'm currently testing the following patch whcih is a subset of the td_ucred
changes.  It involves no API changes, but only contains 2 basic changes:

1) We still need Giant when doing the crhold() to set td_ucred in
   cred_update_thread().  This is an old bug that is my fault.  I knew that
   PROC_LOCK was sufficient yet which was my reason for not using td_ucred. 
   However, we could still be derferencing a stale p_ucred and doing very bad
   things, so this needs to be fixed until p_ucred is fully protected by the
   PROC_LOCK.  This also means that td_ucred is now safe to use.  As such:

2) All the "easy" p->p_ucred -> td->td_ucred changes that don't involve the
   changes to API's such as suser() and p_canfoo().  The next patch in this
   series will most likely be the suser() API change.



John Baldwin <[EMAIL PROTECTED]>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to