DragonFly BSD
DragonFly commits List (threaded) for 2010-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: kernel - Fix one-cycle MP race in vshouldmsync()


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 12 Sep 2010 10:33:23 -0700 (PDT)

commit aed76ef1f778cc4185ddd699631316d05d6811b6
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Sun Sep 12 10:30:38 2010 -0700

    kernel - Fix one-cycle MP race in vshouldmsync()
    
    * vshouldmsync() is the mntvnode fast function, which is called without
      any vnode lock.  vp->v_object can thus get ripped out from under the
      scan function.
    
      Hold vmobj_token through the scan so any pointer accessed via
      v_object remains stable (even if no longer related to the vnode
      due to the race).
    
    Reported-by: swildner

Summary of changes:
 sys/kern/vfs_mount.c |    7 +++++++
 sys/kern/vfs_subr.c  |   14 ++++++++++----
 2 files changed, 17 insertions(+), 4 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/aed76ef1f778cc4185ddd699631316d05d6811b6


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]