freebsd-skq/sys/powerpc
Justin Hibbits ae672aa5e3 powerpc/pmap: Fix pte_find_next() iterators for booke64 pmap
After r361988 fixed the reference count leak on booke64, it became possible
for an iteration somewhere in the middle of a page to become stale, with the
page vanishing (correctly) due to all PTEs on that page going away.
pte_find_next() would start at that iterator, and move along 'higher' order
directory pages until it finds a valid one, without zeroing out the lower
order pages.  For instance:

	/* Find next pte at or above 0x10002000. */
	pte = pte_find_next(pmap, &(0x10002000));
	pte_remove(pmap, pte);
	/* This pte was the last reference in the page table page, page is
	 * gone.
	 */
	pte = pte_find_next(pmap, 0x10002000);
	/* pte_find_next will see 0x10002000's page is gone, and jump to the
	 * next one, but starting iteration at the '0x2000' slot, skipping
	 * 0x0000 and 0x1000.
	 */

This caused some processes, like git, to trip the KASSERT() in
pmap_release().

Fix this by zeroing all lower order iterators at each level.
2020-06-10 23:03:35 +00:00
..
aim powerpc: Use IFUNCs for copyin/copyout/etc 2020-06-06 03:09:12 +00:00
amigaone powerpc/amigaone: Add CPLD driver for AmigaOne A1222 "Tabor" 2020-04-03 20:45:16 +00:00
booke powerpc/pmap: Fix pte_find_next() iterators for booke64 pmap 2020-06-10 23:03:35 +00:00
conf powerpc/qoriq: Add more devices to config for desktop usage 2020-05-16 03:33:28 +00:00
cpufreq powerpc: Fix cpufreq statement scoping 2019-03-08 03:59:53 +00:00
fpu Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
include powerpc: Use IFUNCs for copyin/copyout/etc 2020-06-06 03:09:12 +00:00
mambo sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
mikrotik - Allow different slicers for different flash types to be registered 2017-02-22 10:21:39 +00:00
mpc85xx powerpc/mpc85xx: Don't use the quantum cache in vmem for MPIC MSIs 2020-06-10 04:04:59 +00:00
ofw [PowerPC] kernel ifunc support for powerpc*, fix ppc64 relocation oddities. 2020-05-07 19:32:49 +00:00
powermac Revert 2020-03-06 23:01:49 +00:00
powernv powerpc/powernv: Don't use the vmem quantum cache for OPAL PCI MSI allocations 2020-06-10 04:08:16 +00:00
powerpc powerpc: Fix nits in copyinout comments from r361861 2020-06-06 18:56:40 +00:00
ps3 powerpc/mmu: Convert PowerPC pmap drivers to ifunc from kobj 2020-05-27 01:24:12 +00:00
pseries powerpc/mmu: Convert PowerPC pmap drivers to ifunc from kobj 2020-05-27 01:24:12 +00:00
psim Remove more needless <sys/tty.h> includes 2019-12-01 20:43:37 +00:00