diff options
author | neel <neel@FreeBSD.org> | 2013-07-03 23:21:25 +0000 |
---|---|---|
committer | neel <neel@FreeBSD.org> | 2013-07-03 23:21:25 +0000 |
commit | bfcf8b6dd678beced16df63a3c17f7740eebbe86 (patch) | |
tree | 9e6fe5349f1192ad97c561454b29a0152d2e8762 /lib/libc/stdlib/getopt_long.c | |
parent | 468b664f74fc046f41935be989f161a0d85878c0 (diff) | |
download | FreeBSD-src-bfcf8b6dd678beced16df63a3c17f7740eebbe86.zip FreeBSD-src-bfcf8b6dd678beced16df63a3c17f7740eebbe86.tar.gz |
If a superpage mapping is being removed then we need to ignore the PG_PDE_PAT
bit when looking up the vm_page associated with the superpage's physical
address.
If the caching attribute for the mapping is write combining or write protected
then the PG_PDE_PAT bit will be set and thus cause an 'off-by-one' error
when looking up the vm_page.
Fix this by using the PG_PS_FRAME mask to compute the physical address for
a superpage mapping instead of PG_FRAME.
This is a theoretical issue at this point since non-writeback attributes are
currently used only for fictitious mappings and fictitious mappings are not
subject to promotion.
Discussed with: alc, kib
MFC after: 2 weeks
Diffstat (limited to 'lib/libc/stdlib/getopt_long.c')
0 files changed, 0 insertions, 0 deletions