Re: [PATCH v10 00/13] iommu/arm-smmu-v3: Adopt the crashed kernel's stream table for kdump

From: Cristian Prundeanu

Date: Mon Sep 28 2026 - 11:31:07 EST


On Sun, Aug 30, 2026 at 04:18:01PM -0700, Nicolin Chen wrote:
> To safely absorb in-flight DMA, the kdump kernel must leave SMMUEN=1 intact
> and avoid modifying STRTAB_BASE. This allows HW to continue translating in-
> flight DMA using the crashed kernel's page tables until the endpoint device
> drivers probe and quiesce their respective hardware.

Tested v10 on AWS Graviton4 bare metal (m8g.metal-24xl: Neoverse V2, single
SMMUv3 with a 2-level stream table). On this platform, if the SMMU aborts a
NIC DMA read, firmware resets the host. An unpatched kernel fails kdump when
the NIC is still fetching from memory as the SMMU probe installs a fresh
stream table.

Reproducer: sysrq-c while the NIC receives ~100 kpps of UDP over 64 flows,
spread across most RX queues. The kdump initramfs omits the NIC driver, so
nothing quiesces the device.

Results using Amazon Linux 2023 with kdump kernel 6.18.39:

- Unpatched: 2/2 failures. The SMMU logs read and write translation aborts
~2.5 s after the panic, and the host resets before the vmcore is written.

- v7.3-rc1 + this series: 3/3 complete vmcores, no translation aborts.
The kdump kernel logs "kdump: adopting crashed kernel's stream table"
and "kdump: retaining SMMUEN for in-flight DMA". In one run the NIC
driver was present, so the device was also re-probed and reset.

Tested-by: Cristian Prundeanu <cpru@xxxxxxxxxx>