[PATCH] drm/msm/iommu: Fix null pointer dereference in no-IOMMU case

From: Luca Weiss
Date: Mon May 08 2023 - 16:28:18 EST

In the case that no IOMMU is available, msm_iommu_new can return NULL
which should be handled. Without we will get a NULL pointer dereference
in the next statement when we try to use the mmu variable.

Fixes: 8cceb773f565 ("drm/msm/adreno: stall translation on fault for all GPU families")
Signed-off-by: Luca Weiss <luca@xxxxxxxxx>
drivers/gpu/drm/msm/msm_iommu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/msm_iommu.c b/drivers/gpu/drm/msm/msm_iommu.c
index 418e1e06cdde..5080319ae4cf 100644
--- a/drivers/gpu/drm/msm/msm_iommu.c
+++ b/drivers/gpu/drm/msm/msm_iommu.c
@@ -410,7 +410,7 @@ struct msm_mmu *msm_iommu_gpu_new(struct device *dev, struct msm_gpu *gpu, unsig
struct msm_mmu *mmu;

mmu = msm_iommu_new(dev, quirks);
- if (IS_ERR(mmu))
+ if (IS_ERR_OR_NULL(mmu))
return mmu;

iommu = to_msm_iommu(mmu);

base-commit: ba0ad6ed89fd5dada3b7b65ef2b08e95d449d4ab
change-id: 20230508-6-4-drm-msm-iommu-fixup-99189cd591ab

Best regards,
Luca Weiss <luca@xxxxxxxxx>