[PATCH] iommu/rockchip: check return value of of_find_device_by_node() in rk_iommu_of_xlate()

From: Yu Kuai
Date: Thu Oct 29 2020 - 05:18:27 EST


If of_find_device_by_node() failed in rk_iommu_of_xlate(), null pointer
dereference will be triggered. Thus return error code if
of_find_device_by_node() failed.

Fixes: 5fd577c3eac3("iommu/rockchip: Use OF_IOMMU to attach devices automatically")
Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
---
drivers/iommu/rockchip-iommu.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
index e5d86b7177de..090d149ef8e9 100644
--- a/drivers/iommu/rockchip-iommu.c
+++ b/drivers/iommu/rockchip-iommu.c
@@ -1099,6 +1099,9 @@ static int rk_iommu_of_xlate(struct device *dev,

iommu_dev = of_find_device_by_node(args->np);

+ if (!iommu_dev)
+ return -ENODEV;
+
data->iommu = platform_get_drvdata(iommu_dev);
dev_iommu_priv_set(dev, data);

--
2.25.4