Correct page frame mask constant used in pmap_change_attr_locked

This was introduced in r290156.  It's present in 11.0, but not any 10.x
release unless someone decided to MFC it.

It affects ordinary pages right above the DMAP limit, which is effectively
system memory rounded up to a 1 GB (3rd level superpage) boundary (or up to
a minimum of 4 GB, on small systems).

Reported by:	vangyzen
Reviewed by:	kib, alc
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D4030
This commit is contained in:
cem 2017-05-16 16:20:22 +00:00
parent 107bf62085
commit 5c7d65801e

View File

@ -6691,7 +6691,7 @@ pmap_change_attr_locked(vm_offset_t va, vm_size_t size, int mode)
changed = TRUE;
}
if (tmpva >= VM_MIN_KERNEL_ADDRESS &&
(*pte & PG_PS_FRAME) < dmaplimit) {
(*pte & PG_FRAME) < dmaplimit) {
if (pa_start == pa_end) {
/* Start physical address run. */
pa_start = *pte & PG_FRAME;