freebsd-dev/sys/powerpc/booke
Brandon Bergren 5a08df100b [PowerPC] Fix 32-bit Book-E panic due to pve leak
On an INVARIANTS kernel on 32-bit Book-E, we were panicing when running
the libproc tests. This was caused by extra pv entries being generated
accidentally by the pmap icache invalidation code.

Use the same VA (i.e. 0) when freeing the temporary mapping, instead of
some arbitrary address within the zero page.

Failure to do this was causing kernel-side icache syncing to leak
PVE entries when invalidating icache for a non page-aligned address, which
would later result in pages erroneously showing up as mapped to vm_page.

This bug was introduced in r347354 in 2019.

Reviewed by:	jhibbits (in irc)
Sponsored by:	Tag1 Consulting, Inc.
2021-03-29 18:22:16 -05:00
..
booke_machdep.c powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
locore.S Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +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 powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
pmap_32.c [PowerPC] Fix 32-bit Book-E panic due to pve leak 2021-03-29 18:22:16 -05:00
pmap_64.c powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
pmap.c Avoid dump_avail[] redefinition. 2020-10-14 22:51:40 +00:00
spe.c powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
trap_subr.S Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +00:00