In the Linux kernel, the following vulnerability has been resolved:
dma-mapping: move dma_map_resource() sanity check into debug code
dma_map_resource() uses pfn_valid() to ensure the range is not RAM. However, pfn_valid() only checks for availability of the memory map for a PFN but it does not ensure that the PFN is actually backed by RAM. On ARM64 with SPARSEMEM (128MB section granularity), MMIO addresses that share a section with RAM will falsely trigger the WARN_ON_ONCE and cause dma_map_resource() to return DMA_MAPPING_ERROR.
This causes a WARNING on Raspberry Pi 4 during spi_bcm2835 probe because the SPI FIFO register (0xfe204004) falls in the same sparsemem section as the end of RAM (0xf8000000-0xfbffffff), both in section 31 (0xf8000000-0xffffffff).
Move the sanity check from dma_map_resource() into debug_dma_map_phys() and replace the unreliable pfn_valid() with pfn_valid() && !PageReserved(), which correctly identifies actual usable RAM without false positives for MMIO regions that happen to have struct pages.
Since dma_map_resource() is dma_map_phys(DMA_ATTR_MMIO), the check applies equally to both APIs. Any non-reserved page represents kernel memory to a sufficient degree that using DMA_ATTR_MMIO on it is almost certainly wrong and risks breaking coherency on non-coherent platforms. ZONE_DEVICE pages used for PCI P2P DMA (MEMORY_DEVICE_PCI_P2PDMA) have PageReserved set, so they will not trigger a false positive.
The check no longer blocks the mapping and uses err_printk() to integrate with dma-debug filtering.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel6.18-tools-develUpgrade python3-perf6.18Upgrade kernel6.18-tools-debuginfoUpgrade microvm-kernel6.18Upgrade kernel6.18-modules-extraUpgrade kernel6.18-toolsUpgrade python3-perf6.18-debuginfoUpgrade perf6.18-debuginfoUpgrade perf6.18Upgrade bpftool6.18-debuginfoUpgrade kernel6.18-debuginfoUpgrade bpftool6.18Upgrade kernel6.18-develUpgrade kernel-livepatch-6.18.35-68.127Upgrade kernel6.18Upgrade kernel6.18-debuginfo-common-x86_64Upgrade kernel6.18-debuginfo-common-aarch64Upgrade kernel6.18-modules-extra-commonUpgrade kernel6.18-headers | Aug 10, 2026 | Jul 19, 2026 |
| Ubuntu | — | Upgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-aws-64kUpgrade linux-image-azureUpgrade linux-image-7.0.0-1009-aws-64kUpgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-oracle-64kUpgrade linux-image-azure-fde-7.0Upgrade linux-image-nvidia-bos-7.0Upgrade linux-image-raspi-realtimeUpgrade linux-image-7.0.0-2016-nvidia-bosUpgrade linux-image-gcpUpgrade linux-image-raspiUpgrade linux-image-aws-64k-7.0Upgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-nvidia-bos-64kUpgrade linux-image-7.0.0-1015-raspiUpgrade linux-image-ibmUpgrade linux-image-oracle-64k-7.0Upgrade linux-image-7.0.0-1009-awsUpgrade linux-image-oracle-7.0Upgrade linux-image-7.0.0-1011-oracle-64kUpgrade linux-image-nvidia-bosUpgrade linux-image-ibm-7.0Upgrade linux-image-raspi-realtime-7.0Upgrade linux-image-gcp-64kUpgrade linux-image-7.0.0-1010-azureUpgrade linux-image-aws-7.0Upgrade linux-image-7.0.0-1010-ibmUpgrade linux-image-7.0.0-2016-nvidia-bos-64kUpgrade linux-image-nvidiaUpgrade linux-image-7.0.0-1016-nvidia-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-gcp-64k-7.0Upgrade linux-image-raspi-7.0Upgrade linux-image-7.0.0-1009-azure-fdeUpgrade linux-image-7.0.0-1011-oracleUpgrade linux-image-7.0.0-1008-oracleUpgrade linux-image-azure-7.0Upgrade linux-image-7.0.0-1016-nvidiaUpgrade linux-image-awsUpgrade linux-image-gcp-7.0Upgrade linux-image-7.0.0-1015-raspi-realtimeUpgrade linux-image-7.0.0-1008-oracle-64kUpgrade linux-image-7.0.0-1014-azureUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-nvidia-7.0Upgrade linux-image-azure-fdeUpgrade linux-image-oracle | Jul 21, 2026 | Jul 20, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub