Correct a long-standing race condition in vm_object_page_remove() that
could result in a dirty page being unintentionally freed. Reviewed by: tegge MFC after: 7 days
This commit is contained in:
parent
6d00d752a2
commit
28e2e6f950
@ -1797,7 +1797,7 @@ vm_object_page_remove(vm_object_t object, vm_pindex_t start, vm_pindex_t end,
|
||||
if (vm_page_sleep_if_busy(p, TRUE, "vmopar"))
|
||||
goto again;
|
||||
if (clean_only && p->valid) {
|
||||
vm_page_test_dirty(p);
|
||||
pmap_page_protect(p, VM_PROT_READ | VM_PROT_EXECUTE);
|
||||
if (p->valid & p->dirty)
|
||||
continue;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user