4ae224c663
Subsequent to r240317, kmem_free() was replaced with kva_free() (r254025). kva_free() releases the KVA allocation for the mapped region, but no longer clears the pmap (pagetable) entries. An affected pmap_unmapdev operation would leave the still-pmap'd VA space free for allocation by other KVA consumers. However, this bug easily avoided notice for ~7 years because most devices (1) never call pmap_unmapdev and (2) on amd64, mostly fit within the DMAP and do not need KVA allocations. Other affected arch are less popular: i386, MIPS, and PowerPC. Arm64, arm32, and riscv are not affected. Reported by: Don Morris <dgmorris AT earthlink.net> Submitted by: Don Morris (amd64 part) Reviewed by: kib, markj, Don (!amd64 parts) MFC after: I don't intend to, but you might want to Sponsored by: Dell Isilon Differential Revision: https://reviews.freebsd.org/D25689 |
||
---|---|---|
.. | ||
aim_machdep.c | ||
locore32.S | ||
locore64.S | ||
locore.S | ||
mmu_oea64.c | ||
mmu_oea64.h | ||
mmu_oea.c | ||
mmu_radix.c | ||
moea64_native.c | ||
mp_cpudep.c | ||
slb.c | ||
trap_subr32.S | ||
trap_subr64.S |