svn commit: r282706 - head/sys/vm

Konstantin Belousov kib at FreeBSD.org
Sun May 10 08:21:04 UTC 2015


Author: kib
Date: Sun May 10 08:21:03 2015
New Revision: 282706
URL: https://svnweb.freebsd.org/changeset/base/282706

Log:
  Satisfy vm_object uma zone destructor requirements after r282660 when
  vnode object creation raced.
  
  Reported by:	pho
  Reviewed by:	alc
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sys/vm/vnode_pager.c

Modified: head/sys/vm/vnode_pager.c
==============================================================================
--- head/sys/vm/vnode_pager.c	Sun May 10 06:59:34 2015	(r282705)
+++ head/sys/vm/vnode_pager.c	Sun May 10 08:21:03 2015	(r282706)
@@ -237,6 +237,12 @@ retry:
 			 * Object has been created while we were sleeping
 			 */
 			VI_UNLOCK(vp);
+			VM_OBJECT_WLOCK(object);
+			KASSERT(object->ref_count == 1,
+			    ("leaked ref %p %d", object, object->ref_count));
+			object->type = OBJT_DEAD;
+			object->ref_count = 0;
+			VM_OBJECT_WUNLOCK(object);
 			vm_object_destroy(object);
 			goto retry;
 		}


More information about the svn-src-head mailing list