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:  delp...@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);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to