devm_kzalloc can fail. Hence check the pointer to avoid NULL pointer
dereferencing.

Signed-off-by: Sachin Kamat <sachin.ka...@linaro.org>
---
 drivers/gpu/drm/exynos/exynos_drm_iommu.c |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_iommu.c 
b/drivers/gpu/drm/exynos/exynos_drm_iommu.c
index 3799d5c..fb8db03 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_iommu.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_iommu.c
@@ -47,10 +47,16 @@ int drm_create_iommu_mapping(struct drm_device *drm_dev)
 
        dev->dma_parms = devm_kzalloc(dev, sizeof(*dev->dma_parms),
                                        GFP_KERNEL);
+       if (!dev->dma_parms)
+               goto error;
+
        dma_set_max_seg_size(dev, 0xffffffffu);
        dev->archdata.mapping = mapping;
 
        return 0;
+error:
+       arm_iommu_release_mapping(mapping);
+       return -ENOMEM;
 }
 
 /*
@@ -91,6 +97,9 @@ int drm_iommu_attach_device(struct drm_device *drm_dev,
        subdrv_dev->dma_parms = devm_kzalloc(subdrv_dev,
                                        sizeof(*subdrv_dev->dma_parms),
                                        GFP_KERNEL);
+       if (!subdrv_dev->dma_parms)
+               return -ENOMEM;
+
        dma_set_max_seg_size(subdrv_dev, 0xffffffffu);
 
        ret = arm_iommu_attach_device(subdrv_dev, dev->archdata.mapping);
-- 
1.7.9.5

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to