[PATCH 1/1] drm/exynos: Fix potential NULL pointer dereference in exynos_drm_encoder.c

Inki Dae inki.dae at samsung.com
Mon Nov 19 02:00:50 PST 2012



> -----Original Message-----
> From: Sachin Kamat [mailto:sachin.kamat at linaro.org]
> Sent: Monday, November 19, 2012 6:56 PM
> To: Inki Dae
> Cc: dri-devel at lists.freedesktop.org; jy0922.shim at samsung.com;
> patches at linaro.org
> Subject: Re: [PATCH 1/1] drm/exynos: Fix potential NULL pointer
> dereference in exynos_drm_encoder.c
> 
> Hi Inki,
> 
> Thanks for your review. My comments inline.
> 
> On 19 November 2012 15:14, Inki Dae <inki.dae at samsung.com> wrote:
> >
> >
> >> -----Original Message-----
> >> From: Sachin Kamat [mailto:sachin.kamat at linaro.org]
> >> Sent: Monday, November 19, 2012 6:21 PM
> >> To: dri-devel at lists.freedesktop.org
> >> Cc: inki.dae at samsung.com; jy0922.shim at samsung.com;
> > sachin.kamat at linaro.org;
> >> patches at linaro.org
> >> Subject: [PATCH 1/1] drm/exynos: Fix potential NULL pointer dereference
> in
> >> exynos_drm_encoder.c
> >>
> >> Check overlay_ops is not NULL as checked in the previous 'if'
condition.
> >> Fixes the following smatch error:
> >> drivers/gpu/drm/exynos/exynos_drm_encoder.c:509
> >> exynos_drm_encoder_plane_disable()
> >> error: we previously assumed 'overlay_ops' could be null (see line 499)
> >>
> >> Signed-off-by: Sachin Kamat <sachin.kamat at linaro.org>
> >> ---
> >>  drivers/gpu/drm/exynos/exynos_drm_encoder.c |    2 +-
> >>  1 files changed, 1 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/exynos/exynos_drm_encoder.c
> >> b/drivers/gpu/drm/exynos/exynos_drm_encoder.c
> >> index e51503f..a44238e 100644
> >> --- a/drivers/gpu/drm/exynos/exynos_drm_encoder.c
> >> +++ b/drivers/gpu/drm/exynos/exynos_drm_encoder.c
> >> @@ -506,6 +506,6 @@ void exynos_drm_encoder_plane_disable(struct
> >> drm_encoder *encoder, void *data)
> >>        * because the setting for disabling the overlay will be updated
> >>        * at vsync.
> >>        */
> >> -     if (overlay_ops->wait_for_vblank)
> >> +     if (overlay_ops && overlay_ops->wait_for_vblank)
> >>               overlay_ops->wait_for_vblank(manager->dev);
> >
> > This code will be removed at -next.
> 
> Since this code is already in mainline, I think this patch should be
> applied as a fix during this rc (for completeness).
> You may subsequently delete it in the next release as per your plan.
> 

And NULL pointer checking was already done above like below,
	if (overlay_ops && overlay_ops->disable)
		overlay_ops->disable(manager->dev, zpos);

This is your missing point.

> >
> > Thanks,
> > Inki Dae
> >
> >>  }
> >> --
> >> 1.7.4.1
> >
> 
> 
> 
> --
> With warm regards,
> Sachin



More information about the dri-devel mailing list