[PATCH] drm/exynos: iommu: fix potential NULL pointer dereference
On 06/29/2015 03:35 PM, Hyungwon Hwang wrote: > Dear Marek, > > On Thu, 25 Jun 2015 15:10:12 +0200 > Marek Szyprowski wrote: > >> Some drivers (like Exynos mixer) calls >> drm_iommu_attach_device_if_possible before registering crtc, so >> additional check for NULL crtc pointer is required. > > It seems reasonable. > > Reviewed-by: Hyungwon Hwang > This patch is ok but i think it can remove to use clear_channels function pointer and drm_iommu_attach_device_if_possible function because already drm_iommu_attach_device function checks whether support iommu internally. I will ready related patch. Thanks. >> >> Signed-off-by: Marek Szyprowski >> --- >> drivers/gpu/drm/exynos/exynos_drm_iommu.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/exynos/exynos_drm_iommu.c >> b/drivers/gpu/drm/exynos/exynos_drm_iommu.c index >> d4ec7465e9cc..d4eb730ba254 100644 --- >> a/drivers/gpu/drm/exynos/exynos_drm_iommu.c +++ >> b/drivers/gpu/drm/exynos/exynos_drm_iommu.c @@ -151,7 +151,7 @@ int >> drm_iommu_attach_device_if_possible(struct exynos_drm_crtc >> *exynos_crtc, int ret = 0; >> if (is_drm_iommu_supported(drm_dev)) { >> -if (exynos_crtc->ops->clear_channels) >> +if (exynos_crtc && exynos_crtc->ops->clear_channels) >> exynos_crtc->ops->clear_channels(exynos_crtc); >> return drm_iommu_attach_device(drm_dev, subdrv_dev); >> } > >
[PATCH] drm/exynos: iommu: fix potential NULL pointer dereference
Dear Marek, On Thu, 25 Jun 2015 15:10:12 +0200 Marek Szyprowski wrote: > Some drivers (like Exynos mixer) calls > drm_iommu_attach_device_if_possible before registering crtc, so > additional check for NULL crtc pointer is required. It seems reasonable. Reviewed-by: Hyungwon Hwang > > Signed-off-by: Marek Szyprowski > --- > drivers/gpu/drm/exynos/exynos_drm_iommu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_iommu.c > b/drivers/gpu/drm/exynos/exynos_drm_iommu.c index > d4ec7465e9cc..d4eb730ba254 100644 --- > a/drivers/gpu/drm/exynos/exynos_drm_iommu.c +++ > b/drivers/gpu/drm/exynos/exynos_drm_iommu.c @@ -151,7 +151,7 @@ int > drm_iommu_attach_device_if_possible(struct exynos_drm_crtc > *exynos_crtc, int ret = 0; > if (is_drm_iommu_supported(drm_dev)) { > - if (exynos_crtc->ops->clear_channels) > + if (exynos_crtc && exynos_crtc->ops->clear_channels) > exynos_crtc->ops->clear_channels(exynos_crtc); > return drm_iommu_attach_device(drm_dev, subdrv_dev); > }
[PATCH] drm/exynos: iommu: fix potential NULL pointer dereference
Some drivers (like Exynos mixer) calls drm_iommu_attach_device_if_possible before registering crtc, so additional check for NULL crtc pointer is required. Signed-off-by: Marek Szyprowski --- drivers/gpu/drm/exynos/exynos_drm_iommu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_iommu.c b/drivers/gpu/drm/exynos/exynos_drm_iommu.c index d4ec7465e9cc..d4eb730ba254 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_iommu.c +++ b/drivers/gpu/drm/exynos/exynos_drm_iommu.c @@ -151,7 +151,7 @@ int drm_iommu_attach_device_if_possible(struct exynos_drm_crtc *exynos_crtc, int ret = 0; if (is_drm_iommu_supported(drm_dev)) { - if (exynos_crtc->ops->clear_channels) + if (exynos_crtc && exynos_crtc->ops->clear_channels) exynos_crtc->ops->clear_channels(exynos_crtc); return drm_iommu_attach_device(drm_dev, subdrv_dev); } -- 1.9.2