git: HAMMER VFS - Fix two ip->vp inode/vnode races
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Sep 25 09:48:18 PDT 2010
commit 036ea0c3142400d6417e92fe874773752d683044
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Sep 25 07:58:12 2010 -0700
HAMMER VFS - Fix two ip->vp inode/vnode races
* nrename and nremove attempt to dereference ip->vp. Because ip->vp has
no other references in these code paths the operation can race and
either assert or panic on a null-pointer dereference.
Fix by formally acquiring the vnode before trying to dereference it.
* All other cases are passed a referenced vnode or properly acquire it
(e.g. nresolve), and did not have this issue.
Summary of changes:
sys/vfs/hammer/hammer_vnops.c | 47 +++++++++++++++++++++++++++++++++-------
1 files changed, 38 insertions(+), 9 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/036ea0c3142400d6417e92fe874773752d683044
--
DragonFly BSD source repository
More information about the Commits
mailing list