[prev in list] [next in list] [prev in thread] [next in thread]
List: dragonfly-commits
Subject: cvs commit: src/sys/vfs/msdosfs msdosfs_denode.c
From: Matthew Dillon <dillon () crater ! dragonflybsd ! org>
Date: 2007-07-30 14:44:56
Message-ID: 200707301444.l6UEiugC002652 () crater ! dragonflybsd ! org
[Download RAW message or body]
dillon 2007/07/30 07:44:56 PDT
DragonFly src repository
Modified files:
sys/vfs/msdosfs msdosfs_denode.c
Log:
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" <nthery@gmail.com>
Revision Changes Path
1.30 +5 -4 src/sys/vfs/msdosfs/msdosfs_denode.c
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/msdosfs/msdosfs_denode.c.diff?r1=1.29&r2=1.30&f=u
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic