- Hold the page queues lock around calls to vm_page_flag_clear().
This commit is contained in:
parent
074ad11567
commit
82ea080d88
@ -1068,7 +1068,9 @@ vm_fault_copy_entry(dst_map, src_map, dst_entry, src_entry)
|
|||||||
/*
|
/*
|
||||||
* Enter it in the pmap...
|
* Enter it in the pmap...
|
||||||
*/
|
*/
|
||||||
|
vm_page_lock_queues();
|
||||||
vm_page_flag_clear(dst_m, PG_ZERO);
|
vm_page_flag_clear(dst_m, PG_ZERO);
|
||||||
|
vm_page_unlock_queues();
|
||||||
pmap_enter(dst_map->pmap, vaddr, dst_m, prot, FALSE);
|
pmap_enter(dst_map->pmap, vaddr, dst_m, prot, FALSE);
|
||||||
vm_page_lock_queues();
|
vm_page_lock_queues();
|
||||||
vm_page_flag_set(dst_m, PG_WRITEABLE);
|
vm_page_flag_set(dst_m, PG_WRITEABLE);
|
||||||
|
@ -401,8 +401,10 @@ kmem_malloc(map, size, flags)
|
|||||||
}
|
}
|
||||||
if (flags & M_ZERO && (m->flags & PG_ZERO) == 0)
|
if (flags & M_ZERO && (m->flags & PG_ZERO) == 0)
|
||||||
pmap_zero_page(m);
|
pmap_zero_page(m);
|
||||||
|
vm_page_lock_queues();
|
||||||
vm_page_flag_clear(m, PG_ZERO);
|
vm_page_flag_clear(m, PG_ZERO);
|
||||||
m->valid = VM_PAGE_BITS_ALL;
|
m->valid = VM_PAGE_BITS_ALL;
|
||||||
|
vm_page_unlock_queues();
|
||||||
}
|
}
|
||||||
vm_object_unlock(kmem_object);
|
vm_object_unlock(kmem_object);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user