svn commit: r358901 - head/sys/vm

Jeff Roberson jeff at FreeBSD.org
Wed Mar 11 22:25:47 UTC 2020


Author: jeff
Date: Wed Mar 11 22:25:45 2020
New Revision: 358901
URL: https://svnweb.freebsd.org/changeset/base/358901

Log:
  Check for busy or wired in vm_page_relookup().  Some callers will only keep
  a page wired and expect it to still be present.
  
  Reported by:	delphij at FreeBSD.org
  Reviewed by:	kib

Modified:
  head/sys/vm/vm_page.c

Modified: head/sys/vm/vm_page.c
==============================================================================
--- head/sys/vm/vm_page.c	Wed Mar 11 22:05:41 2020	(r358900)
+++ head/sys/vm/vm_page.c	Wed Mar 11 22:25:45 2020	(r358901)
@@ -1672,7 +1672,7 @@ vm_page_relookup(vm_object_t object, vm_pindex_t pinde
 	vm_page_t m;
 
 	m = vm_radix_lookup_unlocked(&object->rtree, pindex);
-	KASSERT(m != NULL && vm_page_busied(m) &&
+	KASSERT(m != NULL && (vm_page_busied(m) || vm_page_wired(m)) &&
 	    m->object == object && m->pindex == pindex,
 	    ("vm_page_relookup: Invalid page %p", m));
 	return (m);


More information about the svn-src-head mailing list