[PATCH v3 00/14] iommu: fix device leaks

Johan Hovold posted 14 patches 1 month, 4 weeks ago
drivers/iommu/apple-dart.c              |  2 ++
drivers/iommu/arm/arm-smmu/qcom_iommu.c | 10 +++-----
drivers/iommu/exynos-iommu.c            |  9 +++----
drivers/iommu/ipmmu-vmsa.c              |  2 ++
drivers/iommu/mtk_iommu.c               | 34 +++++++++++++++++--------
drivers/iommu/mtk_iommu_v1.c            | 28 ++++++++++++++++----
drivers/iommu/omap-iommu.c              |  7 ++---
drivers/iommu/omap-iommu.h              |  2 --
drivers/iommu/sun50i-iommu.c            |  2 ++
drivers/iommu/tegra-smmu.c              |  5 ++--
10 files changed, 63 insertions(+), 38 deletions(-)
[PATCH v3 00/14] iommu: fix device leaks
Posted by Johan Hovold 1 month, 4 weeks ago
This series fixes device leaks in the iommu drivers, which pretty
consistently failed to drop the reference taken by
of_find_device_by_node() when looking up iommu platform devices.

Included are also a couple of related cleanups.

Johan


Changes in v3
 - fix mediatek use-after-free on probe deferral
 - add acks and reviewed-bys from Marek, Yong and Thierry

Changes in v2
 - drop omap reference sooner; remove unused pointer
  - amend exynos commit message with reference to partial fix
   - amend tegra commit message with reference to partial fix
    - add Robin's ack


Johan Hovold (14):
  iommu/apple-dart: fix device leak on of_xlate()
  iommu/qcom: fix device leak on of_xlate()
  iommu/exynos: fix device leak on of_xlate()
  iommu/ipmmu-vmsa: fix device leak on of_xlate()
  iommu/mediatek: fix device leak on of_xlate()
  iommu/mediatek: fix use-after-free on probe deferral
  iommu/mediatek: simplify dt parsing error handling
  iommu/mediatek-v1: fix device leak on probe_device()
  iommu/mediatek-v1: fix device leaks on probe()
  iommu/mediatek-v1: add missing larb count sanity check
  iommu/omap: fix device leaks on probe_device()
  iommu/omap: simplify probe_device() error handling
  iommu/sun50i: fix device leak on of_xlate()
  iommu/tegra: fix device leak on probe_device()

 drivers/iommu/apple-dart.c              |  2 ++
 drivers/iommu/arm/arm-smmu/qcom_iommu.c | 10 +++-----
 drivers/iommu/exynos-iommu.c            |  9 +++----
 drivers/iommu/ipmmu-vmsa.c              |  2 ++
 drivers/iommu/mtk_iommu.c               | 34 +++++++++++++++++--------
 drivers/iommu/mtk_iommu_v1.c            | 28 ++++++++++++++++----
 drivers/iommu/omap-iommu.c              |  7 ++---
 drivers/iommu/omap-iommu.h              |  2 --
 drivers/iommu/sun50i-iommu.c            |  2 ++
 drivers/iommu/tegra-smmu.c              |  5 ++--
 10 files changed, 63 insertions(+), 38 deletions(-)

-- 
2.49.1
Re: [PATCH v3 00/14] iommu: fix device leaks
Posted by Joerg Roedel 1 month ago
On Mon, Oct 20, 2025 at 06:53:04AM +0200, Johan Hovold wrote:
> This series fixes device leaks in the iommu drivers, which pretty
> consistently failed to drop the reference taken by
> of_find_device_by_node() when looking up iommu platform devices.
> 
> Included are also a couple of related cleanups.
> 
> Johan
> 
> 
> Changes in v3
>  - fix mediatek use-after-free on probe deferral
>  - add acks and reviewed-bys from Marek, Yong and Thierry
> 
> Changes in v2
>  - drop omap reference sooner; remove unused pointer
>   - amend exynos commit message with reference to partial fix
>    - amend tegra commit message with reference to partial fix
>     - add Robin's ack
> 
> 
> Johan Hovold (14):
>   iommu/apple-dart: fix device leak on of_xlate()
>   iommu/qcom: fix device leak on of_xlate()
>   iommu/exynos: fix device leak on of_xlate()
>   iommu/ipmmu-vmsa: fix device leak on of_xlate()
>   iommu/mediatek: fix device leak on of_xlate()
>   iommu/mediatek: fix use-after-free on probe deferral
>   iommu/mediatek: simplify dt parsing error handling
>   iommu/mediatek-v1: fix device leak on probe_device()
>   iommu/mediatek-v1: fix device leaks on probe()
>   iommu/mediatek-v1: add missing larb count sanity check
>   iommu/omap: fix device leaks on probe_device()
>   iommu/omap: simplify probe_device() error handling
>   iommu/sun50i: fix device leak on of_xlate()
>   iommu/tegra: fix device leak on probe_device()
> 
>  drivers/iommu/apple-dart.c              |  2 ++
>  drivers/iommu/arm/arm-smmu/qcom_iommu.c | 10 +++-----
>  drivers/iommu/exynos-iommu.c            |  9 +++----
>  drivers/iommu/ipmmu-vmsa.c              |  2 ++
>  drivers/iommu/mtk_iommu.c               | 34 +++++++++++++++++--------
>  drivers/iommu/mtk_iommu_v1.c            | 28 ++++++++++++++++----
>  drivers/iommu/omap-iommu.c              |  7 ++---
>  drivers/iommu/omap-iommu.h              |  2 --
>  drivers/iommu/sun50i-iommu.c            |  2 ++
>  drivers/iommu/tegra-smmu.c              |  5 ++--
>  10 files changed, 63 insertions(+), 38 deletions(-)

Applied, thanks.
Re: [PATCH v3 00/14] iommu: fix device leaks
Posted by Johan Hovold 1 month, 1 week ago
On Mon, Oct 20, 2025 at 06:53:04AM +0200, Johan Hovold wrote:
> This series fixes device leaks in the iommu drivers, which pretty
> consistently failed to drop the reference taken by
> of_find_device_by_node() when looking up iommu platform devices.
> 
> Included are also a couple of related cleanups.

> Changes in v3
>  - fix mediatek use-after-free on probe deferral
>  - add acks and reviewed-bys from Marek, Yong and Thierry
> 
> Changes in v2
>  - drop omap reference sooner; remove unused pointer
>   - amend exynos commit message with reference to partial fix
>    - amend tegra commit message with reference to partial fix
>     - add Robin's ack
> 
> 
> Johan Hovold (14):
>   iommu/apple-dart: fix device leak on of_xlate()
>   iommu/qcom: fix device leak on of_xlate()
>   iommu/exynos: fix device leak on of_xlate()
>   iommu/ipmmu-vmsa: fix device leak on of_xlate()
>   iommu/mediatek: fix device leak on of_xlate()
>   iommu/mediatek: fix use-after-free on probe deferral
>   iommu/mediatek: simplify dt parsing error handling
>   iommu/mediatek-v1: fix device leak on probe_device()
>   iommu/mediatek-v1: fix device leaks on probe()
>   iommu/mediatek-v1: add missing larb count sanity check
>   iommu/omap: fix device leaks on probe_device()
>   iommu/omap: simplify probe_device() error handling
>   iommu/sun50i: fix device leak on of_xlate()
>   iommu/tegra: fix device leak on probe_device()

Can these be picked up for 6.19?

Johan