freebsd-src/sys/fs/pseudofs
Konstantin Belousov 5673e3cb08 The cache_enter(9) function shall not be called for doomed dvp.
Assert this.

In the reported panic, vdestroy() fired the assertion "vp has namecache
for ..", because pseudofs may end up doing cache_enter() with reclaimed
dvp, after dotdot lookup temporary unlocked dvp.
Similar problem exists in ufs_lookup() for "." lookup, when vnode
lock needs to be upgraded.

Verify that dvp is not reclaimed before calling cache_enter().

Reported and tested by:	pho
Reviewed by:	kan
MFC after:	2 weeks
2010-04-20 10:19:27 +00:00
..
pseudofs.c Remove the thread argument from the FSD (File-System Dependent) parts of 2009-05-11 15:33:26 +00:00
pseudofs.h Remove the thread argument from the FSD (File-System Dependent) parts of 2009-05-11 15:33:26 +00:00
pseudofs_fileno.c Make pseudofs (and consequently procfs, linprocfs and linsysfs) MPSAFE. 2007-04-15 17:10:01 +00:00
pseudofs_internal.h Make pseudofs (and consequently procfs, linprocfs and linsysfs) MPSAFE. 2007-04-15 17:10:01 +00:00
pseudofs_vncache.c If a race is detected, pfs_vncache_alloc() may reclaim a vnode that had 2009-09-07 12:10:41 +00:00
pseudofs_vnops.c The cache_enter(9) function shall not be called for doomed dvp. 2010-04-20 10:19:27 +00:00