On Mon, May 26, 2014 at 12:24:56PM +0200, Martin Husemann wrote: > On Mon, May 26, 2014 at 11:39:09AM +0200, Edgar Fuß wrote: > > On a 6.1/amd64 NFS server, I got the following: > > > > uvm_fault(0xfffffe82cd149228, 0x0, 1) -> e > > fatal page fault in supervisor mode > > trap type 6 code 0 rip ffffffff803fc5a1 cs 8 rflags 10246 cr2 c8 cpl 0 rsp > > fffffe82aaa38660 > > kernel: page fault trap, code=0 > > Stopped in pid 9953.3 (nfsd) at netbsd:ufs_fhtovp+0x2e: cmpw $0,c8(%rdx) > > if ((error = VFS_VGET(mp, ufhp->ufid_ino, &nvp)) != 0) { > *vpp = NULLVP; > return (error); > } > ip = VTOI(nvp); > KASSERT(ip != NULL); > --> if (ip->i_mode == 0 || ip->i_gen != ufhp->ufid_gen) { > > Looks like the KASSERT should have caught it (in a DIAGNOSTIC kernel). > VTOI returned NULL?
Probably. I've already fixed races like this (between fhtovp() and reclaim) in the past, but I guess there are some more ... Not easy to track down. -- Manuel Bouyer <bou...@antioche.eu.org> NetBSD: 26 ans d'experience feront toujours la difference --