From 12352fdcaae503cd67b1b4fb027acd584aba228e Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Fri, 2 May 2003 19:33:21 +0000 Subject: [PATCH] Lock access to the vm_object's flags in vop_stdcreatevobject(). --- sys/kern/vfs_default.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index cef1a0f8460..5ecb4aa2857 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -610,12 +610,15 @@ retry: VM_OBJECT_UNLOCK(object); vrele(vp); } else { + VM_OBJECT_LOCK(object); if (object->flags & OBJ_DEAD) { VOP_UNLOCK(vp, 0, td); - tsleep(object, PVM, "vodead", 0); + msleep(object, VM_OBJECT_MTX(object), PDROP | PVM, + "vodead", 0); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); goto retry; } + VM_OBJECT_UNLOCK(object); } KASSERT(vp->v_object != NULL, ("vfs_object_create: NULL object"));