diff options
author | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2007-07-26 16:58:09 +0000 |
---|---|---|
committer | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2007-07-26 16:58:09 +0000 |
commit | 57fd3d55726f8b31289751a498ed284b4ba20192 (patch) | |
tree | 5a98f364f3abdf11cc44ba4d0cfc643ff591bd63 /sys/kern/uipc_usrreq.c | |
parent | 68c1a246ae99cc4d30703f9f9d232ea0b5ef2d15 (diff) | |
download | src-57fd3d55726f8b31289751a498ed284b4ba20192.tar.gz src-57fd3d55726f8b31289751a498ed284b4ba20192.zip |
When we do open, we should lock the vnode exclusively. This fixes few races:
- fifo race, where two threads assign v_fifoinfo,
- v_writecount modifications,
- v_object modifications,
- and probably more...
Discussed with: kib, ups
Approved by: re (rwatson)
Notes
Notes:
svn path=/head/; revision=171599
Diffstat (limited to 'sys/kern/uipc_usrreq.c')
-rw-r--r-- | sys/kern/uipc_usrreq.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 9acb596a1708..682496e2cb63 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -463,7 +463,7 @@ restart: goto error; } vp = nd.ni_vp; - ASSERT_VOP_LOCKED(vp, "uipc_bind"); + ASSERT_VOP_ELOCKED(vp, "uipc_bind"); soun = (struct sockaddr_un *)sodupsockaddr(nam, M_WAITOK); UNP_GLOBAL_WLOCK(); |