Re: [PATCH] iommu/pages: Fix iommu_pages_flush_incoherent() for non-x86
From: Baolu Lu
Date: Sun Apr 26 2026 - 22:52:31 EST
On 4/24/26 19:50, Mostafa Saleh wrote:
The dma_sync_single_for_device() function expects a dma_addr_t, but
iommu_pages_flush_incoherent() was incorrectly passing a virtual
address.
Since iommu_pages_start_incoherent() enforces a 1:1 mapping between
DMA addresses and physical addresses (checked via WARN_ON), we can
convert the virtual address to a physical address before passing it to
the DMA API.
This also matches the behaviour of the other non-x86 in
iommu_pages_free_incoherent(), which uses virt_to_phys(virt);
Fixes: 36ae67b13976 ("iommu/pages: Add support for incoherent IOMMU page table walkers")
Signed-off-by: Mostafa Saleh<smostafa@xxxxxxxxxx>
---
drivers/iommu/iommu-pages.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>