diff options
author | jeff <jeff@FreeBSD.org> | 2005-06-14 01:14:40 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2005-06-14 01:14:40 +0000 |
commit | 1792584f2aca162b7b810a852ce3b1583c7e50e9 (patch) | |
tree | 9783ba6b3f01c9c59659a4a25a4fca75a479932e /sys/kern/vfs_vnops.c | |
parent | d6e60e9b867a54a54b941c4ff2300aefa5b1ab8f (diff) | |
download | FreeBSD-src-1792584f2aca162b7b810a852ce3b1583c7e50e9.zip FreeBSD-src-1792584f2aca162b7b810a852ce3b1583c7e50e9.tar.gz |
- Remove vnode lock asserts at the end of vfs syscalls. These asserts were
used to ensure that we weren't exiting the syscall with a lock still
held. This wasn't safe, however, because we'd already executed a vput()
and on a loaded system the vnode may have been free'd by the time we
assert. This functionality is also handled by the td_locks assert in
userret, which doesn't tell you what the syscall was, but will at least
panic before you deadlock.
Sponsored by: Isilon Systems, Inc.
Discovred by: Peter Holm
Approved by: re (blanket vfs)
Diffstat (limited to 'sys/kern/vfs_vnops.c')
-rw-r--r-- | sys/kern/vfs_vnops.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index f04fdb2..3337e10 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -159,8 +159,6 @@ restart: NDFREE(ndp, NDF_ONLY_PNBUF); return (error); } - ASSERT_VOP_UNLOCKED(ndp->ni_dvp, "create"); - ASSERT_VOP_LOCKED(ndp->ni_vp, "create"); fmode &= ~O_TRUNC; vp = ndp->ni_vp; } else { |