Re: making crdup()/crcopy() safe??

2011-12-20 Thread John Baldwin
On Tuesday, December 20, 2011 2:31:40 pm Gleb Smirnoff wrote: > John, > > On Tue, Dec 20, 2011 at 09:00:39AM -0500, John Baldwin wrote: > J> In general the caller of crdup is expected to hold a reference on cred or some > J> other lock to ensure that cred remains valid and cannot be free'd whi

Re: making crdup()/crcopy() safe??

2011-12-20 Thread Gleb Smirnoff
John, On Tue, Dec 20, 2011 at 09:00:39AM -0500, John Baldwin wrote: J> In general the caller of crdup is expected to hold a reference on cred or some J> other lock to ensure that cred remains valid and cannot be free'd while it is J> being duplicated. There is no global lock that crdup can

Re: making crdup()/crcopy() safe??

2011-12-20 Thread John Baldwin
On Tuesday, December 20, 2011 10:38:34 am Rick Macklem wrote: > John Baldwin wrote: > > On Monday, December 19, 2011 8:21:45 pm Rick Macklem wrote: > > > Hi, > > > > > > A recent NFS client crash: > > > http://glebius.int.ru/tmp/nfs_panic.jpg > > > appears to have happened because some field is >

Re: making crdup()/crcopy() safe??

2011-12-20 Thread Rick Macklem
John Baldwin wrote: > On Monday, December 19, 2011 8:21:45 pm Rick Macklem wrote: > > Hi, > > > > A recent NFS client crash: > > http://glebius.int.ru/tmp/nfs_panic.jpg > > appears to have happened because some field is > > bogus when crfree() is called. I've asked Gleb > > to disassemble crfree(

Re: making crdup()/crcopy() safe??

2011-12-20 Thread John Baldwin
On Monday, December 19, 2011 8:21:45 pm Rick Macklem wrote: > Hi, > > A recent NFS client crash: > http://glebius.int.ru/tmp/nfs_panic.jpg > appears to have happened because some field is > bogus when crfree() is called. I've asked Gleb > to disassemble crfree() for me, so I can try and > see ex

making crdup()/crcopy() safe??

2011-12-19 Thread Rick Macklem
Hi, A recent NFS client crash: http://glebius.int.ru/tmp/nfs_panic.jpg appears to have happened because some field is bogus when crfree() is called. I've asked Gleb to disassemble crfree() for me, so I can try and see exactly which field causes the crash, however... Basically, the code: newc