cvs commit: src/sys/vfs/msdosfs msdosfs_denode.c

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Jul 30 07:45:22 PDT 2007


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 at 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





More information about the Commits mailing list