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

Sachin Kamat sachin.kamat at linaro.org
Mon Nov 19 02:02:55 PST 2012


On 19 November 2012 15:30, 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: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);
Correct. But that check is applicable only for that one statement
(overlay_ops->disable(manager->dev, zpos);).

Similar check needs to be added to below 'if' code too.

>
> This is your missing point.
>
>> >
>> > Thanks,
>> > Inki Dae
>> >
>> >>  }
>> >> --
>> >> 1.7.4.1
>> >
>>
>>
>>
>> --
>> With warm regards,
>> Sachin
>



-- 
With warm regards,
Sachin


More information about the dri-devel mailing list