summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2005-08-26 05:18:46 +0000
committeralc <alc@FreeBSD.org>2005-08-26 05:18:46 +0000
commit534105e83bf98da8edf41cd5bb9cec288c35ff15 (patch)
treeb2395eb6da314e3a7c3b3768b51adf721c23009e /usr.bin
parentd3e1bd8576000af810ceae701bc5812718ddf972 (diff)
downloadFreeBSD-src-534105e83bf98da8edf41cd5bb9cec288c35ff15.zip
FreeBSD-src-534105e83bf98da8edf41cd5bb9cec288c35ff15.tar.gz
Remedy the following three problems:
1. The amd64 pmap, unlike the i386 pmap, maintains a reference count for each page directory (PD) page. However, in the transformation of the i386 pmap into the amd64 pmap, operations, such as pmap_copy() and pmap_object_init_pt(), that create 2MB "superpage" mappings by setting the PG_PS bit in a PD entry were not modified to adjust the underlying PD page's reference count. Consequently, superpage mappings could disappear prematurely. 2. pmap_object_init_pt() could crash or corrupt memory if either the virtual address range being mapped crosses a 1GB boundary in the virtual address space or nothing is mapped in the 1GB area. 3. When pmap_allocpte() destroys a 2MB "superpage" mapping it does not reduce the pmap's resident count accordingly. It should. (This bug is inherited from i386.) Discussed with: peter Reviewed by: tegge
Diffstat (limited to 'usr.bin')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud