Page MenuHomeFreeBSD

D27338.diff
No OneTemporary

D27338.diff

diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c
--- a/sys/fs/msdosfs/msdosfs_vnops.c
+++ b/sys/fs/msdosfs/msdosfs_vnops.c
@@ -1122,6 +1122,14 @@
VOP_UNLOCK(tdvp);
vrele(tdvp);
vrele(ap->a_fvp);
+ /*
+ * fdvp may be locked and has a reference. We need to
+ * release the lock and reference, unless to and from
+ * directories are the same. In that case it is already
+ * unlocked.
+ */
+ if (tdvp != fdvp)
+ vput(fdvp);
return 0;
}
xp = VTODE(fvp);

File Metadata

Mime Type
text/plain
Expires
Mon, Nov 17, 9:58 PM (5 h, 48 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25410482
Default Alt Text
D27338.diff (510 B)

Event Timeline