Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Mar 2020 22:25:45 +0000 (UTC)
From:      Jeff Roberson <jeff@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r358901 - head/sys/vm
Message-ID:  <202003112225.02BMPjVO068674@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202003112225.02BMPjVO068674>