freebsd-dev/sys/powerpc/booke
Conrad Meyer 4ae224c663 Revert r240317 to prevent leaking pmap entries
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
2020-07-16 23:29:26 +00:00
..
booke_machdep.c powerpc/mmu: Convert PowerPC pmap drivers to ifunc from kobj 2020-05-27 01:24:12 +00:00
locore.S powerpc/booke: Fix 32-bit Book-E SMP AP bringup 2019-12-04 03:41:55 +00:00
machdep_e500.c [PowerPC] Fix booke64 qemu infinite loop in L2 cache enable 2020-06-19 18:40:39 +00:00
mp_cpudep.c sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
platform_bare.c sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
pmap_32.c powerpc/mmu: Convert PowerPC pmap drivers to ifunc from kobj 2020-05-27 01:24:12 +00:00
pmap_64.c powerpc/pmap: Fix pte_find_next() iterators for booke64 pmap 2020-06-10 23:03:35 +00:00
pmap.c Revert r240317 to prevent leaking pmap entries 2020-07-16 23:29:26 +00:00
spe.c powerpc: Simplify _nodrop variants of FPU and vector register saves 2020-03-13 01:27:37 +00:00
trap_subr.S powerpc/booke: Change Book-E 64-bit pmap to 4-level table 2020-04-11 00:12:34 +00:00