Fix a bug in pmap_protect() in the PAE case where it would try to look up

the vm_page_t associated with a pte using only the lower 32-bits of the pte
instead of the full 64-bits.

Submitted by:	Greg Taleck greg at isilon dot com
Reviewed by:	jeffr, alc
MFC after:	3 days
This commit is contained in:
jhb 2005-07-29 19:03:44 +00:00
parent 91a55b80e8
commit b27bc13318

View File

@ -1810,14 +1810,14 @@ retry:
if (pbits & PG_MANAGED) {
m = NULL;
if (pbits & PG_A) {
m = PHYS_TO_VM_PAGE(pbits);
m = PHYS_TO_VM_PAGE(*pte);
vm_page_flag_set(m, PG_REFERENCED);
pbits &= ~PG_A;
}
if ((pbits & PG_M) != 0 &&
pmap_track_modified(sva)) {
if (m == NULL)
m = PHYS_TO_VM_PAGE(pbits);
m = PHYS_TO_VM_PAGE(*pte);
vm_page_dirty(m);
}
}