git: kernel - Close MP race in vnode allocation code

看板DFBSD_commit作者時間16年前 (2010/02/07 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
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
文章代碼(AID): #1BRQvl2g (DFBSD_commit)