git: kernel - Close MP race in vnode allocation code
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Feb 6 09:13:22 PST 2010
commit b8b1dca3e2045dad434bd948e1225757e8dfbe97
Author: Matthew Dillon <dillon at 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
More information about the Commits
mailing list