]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iommu/apple-dart: fix device leak on of_xlate()
authorJohan Hovold <johan@kernel.org>
Mon, 20 Oct 2025 04:53:05 +0000 (06:53 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:09:59 +0000 (13:09 +0100)
commit a6eaa872c52a181ae9a290fd4e40c9df91166d7a upstream.

Make sure to drop the reference taken to the iommu platform device when
looking up its driver data during of_xlate().

Fixes: 46d1fb072e76 ("iommu/dart: Add DART iommu driver")
Cc: stable@vger.kernel.org # 5.15
Cc: Sven Peter <sven@kernel.org>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iommu/apple-dart.c

index baba4571c815207dc13748eb5694683f50ec7971..ae8f1c52f7763f3d14ac32597ea6983f02990a4e 100644 (file)
@@ -611,6 +611,8 @@ static int apple_dart_of_xlate(struct device *dev, struct of_phandle_args *args)
        struct apple_dart *cfg_dart;
        int i, sid;
 
+       put_device(&iommu_pdev->dev);
+
        if (args->args_count != 1)
                return -EINVAL;
        sid = args->args[0];