summaryrefslogtreecommitdiffstats
path: root/sys/netinet/ip_fw_nat.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2008-06-01 07:36:59 +0000
committeralc <alc@FreeBSD.org>2008-06-01 07:36:59 +0000
commit061cc6f3ee167947a9dcbd736ad5a4db12e42265 (patch)
treeed697da7921f7a68f4bae5993967eadbd758c60c /sys/netinet/ip_fw_nat.c
parent28d80fbb7a0b38fd6acd0beba42e1858ef18d9e2 (diff)
downloadFreeBSD-src-061cc6f3ee167947a9dcbd736ad5a4db12e42265.zip
FreeBSD-src-061cc6f3ee167947a9dcbd736ad5a4db12e42265.tar.gz
Correct an error in pmap_promote_pde() that may result in an errant
promotion within the kernel's address space. Specifically, pmap_promote_pde() is only called when the page table page (PTP) that is referenced by the given PDE has a full "use count", i.e., its wire_count is 512. Although this guarantees for a user address space that all 512 PTEs in the PTP hold valid mappings, the same is not true of the kernel's address space. A kernel PTP always has a use count of 512 regardless of the state of the PTEs. Therefore, pmap_promote_pde() should not assume (or assert) that the first PTE in the PTP is valid.
Diffstat (limited to 'sys/netinet/ip_fw_nat.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud