freebsd-nq/sys/arm
Mitchell Horne 681bd71047 minidump: reduce the amount direct accesses to page tables
During a live dump, we may race with updates to the kernel page tables.
This is generally okay; we accept that the state of the system while
dumping may be somewhat inconsistent with its state when the dump was
invoked. However, when walking the kernel page tables, it is important
that we load each PDE/PTE only once while operating on it. Otherwise, it
is possible to have the relevant PTE change underneath us. For example,
after checking the valid bit, but before reading the physical address.

Convert the loads to atomics, and add some validation around the
physical addresses, to ensure that we do not try to dump a non-existent
or non-canonical physical address.

Similarly, don't read kernel_vm_end more than once, on the off chance
that pmap_growkernel() is called between the two page table walks.

Reviewed by:	kib, markj
MFC after:	2 weeks
Sponsored by:	Juniper Networks, Inc.
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D31990
2021-11-19 15:05:52 -04:00
..
allwinner mmc: switch mmc_helper to device_ api 2021-09-20 17:18:02 +02:00
altera/socfpga
annapurna/alpine
arm minidump: reduce the amount direct accesses to page tables 2021-11-19 15:05:52 -04:00
broadcom/bcm2835 bcm2835_sdhci: don't use DMA for kernel dumps 2021-09-21 10:08:39 -03:00
conf Add a COMPAT_FREEBSD13 kernel option 2021-11-17 03:08:40 +01:00
freescale Fix typo on "Celsius" 2021-11-18 23:05:32 -07:00
include minidump: Parameterize minidumpsys() 2021-11-19 15:05:52 -04:00
mv arm/mv: Don't rely on firmware MSI mapping in ICU 2021-07-20 23:24:42 +02:00
nvidia arm: fix a typo in nvidia/drm2/tegra_bo.c 2021-10-25 18:42:10 +00:00
qemu
qualcomm ipq4018: add qcom-gcc-ipq4018 and dependencies into the build 2021-11-04 09:02:43 -07:00
rockchip
ti TWL: Fix a typo in a source code comment 2021-11-19 19:26:34 +01:00
xilinx