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

git: kernel - Close MP race in vnode allocation code


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 6 Feb 2010 09:11:20 -0800 (PST)

commit b8b1dca3e2045dad434bd948e1225757e8dfbe97
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Sat Feb 6 09:09:22 2010 -0800

    kernel - Close MP race in vnode allocation code
    
    * vx_lock_nonblock() is used by allocfreevnode() to interlock the
      vnode being freed.  However, this function will incorrect succeed
      on a vnode recursively held by a caller of allocfreevnode() which
      is in the middle of being reclaimed if the vnode in question
      allows LK_CANRECURSE locks in the lockinit.  UFS vnodes use this
      mechanic.
    
      Add a little bit of code to close the hole.

Summary of changes:
 sys/kern/vfs_lock.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

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


-- 
DragonFly BSD source repository



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