[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aF5ETB6HEGywYKS9@8bytes.org>
Date: Fri, 27 Jun 2025 09:12:12 +0200
From: Joerg Roedel <joro@...tes.org>
To: Simon Xue <xxm@...k-chips.com>
Cc: will@...nel.org, heiko@...ech.de, robin.murphy@....com,
iommu@...ts.linux.dev, linux-arm-kernel@...ts.infradead.org,
linux-rockchip@...ts.infradead.org, linux-kernel@...r.kernel.org,
stable@...r.kernel.org
Subject: Re: [PATCH v3] iommu/rockchip: prevent iommus dead loop when two
masters share one IOMMU
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@...r.kernel.org>
> Fixes: 25c2325575cc ("iommu/rockchip: Add missing set_platform_dma_ops callback")
> Signed-off-by: Simon Xue <xxm@...k-chips.com>
> Reviewed-by: Robin Murphy <robin.murphy@....com>
>
> v3:
> Add missing `Cc: stable@...r.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.
Powered by blists - more mailing lists