mirror of
https://github.com/opnsense/src.git
synced 2026-02-25 11:00:15 -05:00
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 |
||
|---|---|---|
| .. | ||
| booke_machdep.c | ||
| locore.S | ||
| machdep_e500.c | ||
| mp_cpudep.c | ||
| platform_bare.c | ||
| pmap.c | ||
| pmap_32.c | ||
| pmap_64.c | ||
| spe.c | ||
| trap_subr.S | ||