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

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Sep 12 10:34:32 PDT 2010


commit aed76ef1f778cc4185ddd699631316d05d6811b6
Author: Matthew Dillon <dillon at 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





More information about the Commits mailing list