DragonFly commits List (threaded) for 2007-07
cvs commit: src/sys/vfs/msdosfs msdosfs_denode.c
dillon 2007/07/30 07:44:56 PDT
DragonFly src repository
When an inode collision occurs a partially initialized vnode will be
destroyed. Fix several NULL pointer dereferences in msdosfs that could
occur in this case. Loosely taken from the UFS code.
Inode collision checks were added to DragonFly to close race conditions
in both the creation and termination of a vnode that were found in UFS.
Subsequently other filesystems were found to have the same race conditions.
Because the VM cache is based on filesystem objects and not on physical
disk blocks, such collisions could result in multiple buffers associated
with different vnodes referencing the same physical disk block and I/O
reordering would then cause stale data to be written to disk.
Submitted-by: "Nicolas Thery" <email@example.com>
Revision Changes Path
1.30 +5 -4 src/sys/vfs/msdosfs/msdosfs_denode.c