On Sun, May 10, 2009 at 05:18:26AM +0000, YAMAMOTO Takashi wrote: > Module Name: src > Committed By: yamt > Date: Sun May 10 05:18:26 UTC 2009 > > Modified Files: > src/sys/nfs: nfs_vnops.c > > Log Message: > nfs_lookup: vn_lock the vnode returned by cache_lookup_raw > before feeding it to VOP_GETATTR. it's necessary because the vnode might > be being cleaned by getcleanvnode. > > it's an instance of more general races between vnode reclaim and > unlocked VOPs. however, this one happens somewhat often because it can be > triggered by getnewvnode rather than revoke.
This seems a bit odd; cache_lookup_raw returns a reference to the vnode, so the vnode shouldn't *be* getting reclaimed after that. Or so I'd think. (?) -- David A. Holland dholl...@netbsd.org