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