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
This commit is contained in:
parent
95ca762da8
commit
d1105e9441
@ -1672,7 +1672,7 @@ vm_page_relookup(vm_object_t object, vm_pindex_t pindex)
|
|||||||
vm_page_t m;
|
vm_page_t m;
|
||||||
|
|
||||||
m = vm_radix_lookup_unlocked(&object->rtree, pindex);
|
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,
|
m->object == object && m->pindex == pindex,
|
||||||
("vm_page_relookup: Invalid page %p", m));
|
("vm_page_relookup: Invalid page %p", m));
|
||||||
return (m);
|
return (m);
|
||||||
|
Loading…
Reference in New Issue
Block a user