freebsd-dev/sys/amd64
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
..
acpica
amd64 Revert r240317 to prevent leaking pmap entries 2020-07-16 23:29:26 +00:00
cloudabi32
cloudabi64
conf Switch from SCTP to SCTP_SUPPORT in GENERIC configs. 2020-07-16 15:09:04 +00:00
ia32 Make ps_strings in struct image_params into a pointer. 2020-04-15 20:21:30 +00:00
include amd64: patch ffsl to use the compiler builtin 2020-07-16 11:28:24 +00:00
linux linuxolator: implement memfd_create syscall 2020-06-29 03:09:14 +00:00
linux32 linuxolator: implement memfd_create syscall 2020-06-29 03:09:14 +00:00
pci
sgx
vmm bhyve(8): For prototyping, reattempt decode in userspace 2020-06-25 00:18:42 +00:00
Makefile