Date: Tue, 20 Apr 2010 10:19:27 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/fs/pseudofs pseudofs_vnops.c src/sys/kern vfs_cache.c src/sys/ufs/ufs ufs_lookup.c Message-ID: <201004201027.o3KARFDA094858@repoman.freebsd.org>
index | next in thread | raw e-mail
kib 2010-04-20 10:19:27 UTC
FreeBSD src repository
Modified files:
sys/fs/pseudofs pseudofs_vnops.c
sys/kern vfs_cache.c
sys/ufs/ufs ufs_lookup.c
Log:
SVN rev 206894 on 2010-04-20 10:19:27Z by kib
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
Revision Changes Path
1.82 +1 -1 src/sys/fs/pseudofs/pseudofs_vnops.c
1.161 +2 -0 src/sys/kern/vfs_cache.c
1.102 +8 -0 src/sys/ufs/ufs/ufs_lookup.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004201027.o3KARFDA094858>
