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. http://www.FreeBSD.org/~jhb/patches/ucred.patch -- 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