On Mon, Jun 23, 2025 at 10:00:18AM +0800, Simon Xue wrote:
When two masters share an IOMMU, calling ops->of_xlate during the second master's driver init may overwrite iommu->domain set by the first. This causes the check if (iommu->domain == domain) in rk_iommu_attach_device() to fail, resulting in the same iommu->node being added twice to &rk_domain->iommus, which can lead to an infinite loop in subsequent &rk_domain->iommus operations.
Cc: stable@vger.kernel.org Fixes: 25c2325575cc ("iommu/rockchip: Add missing set_platform_dma_ops callback") Signed-off-by: Simon Xue xxm@rock-chips.com Reviewed-by: Robin Murphy robin.murphy@arm.com
v3: Add missing `Cc: stable@vger.kernel.org` in commit message. No functional changes. v2: No functional changes.
drivers/iommu/rockchip-iommu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Applied for -rc, thanks.