[PATCH] drm/amd/display: Fix NULL ptr deref for commit_planes_to_stream

Li, Sun peng (Leo) Sunpeng.Li at amd.com
Fri Nov 30 15:16:23 UTC 2018



On 2018-11-30 10:13 a.m., Deucher, Alexander wrote:
> Acked-by: Alex Deucher <alexander.deucher at amd.com>

Reviewed-by: Leo Li <sunpeng.li at amd.com>

> 
> ------------------------------------------------------------------------
> *From:* amd-gfx <amd-gfx-bounces at lists.freedesktop.org> on behalf of 
> Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
> *Sent:* Friday, November 30, 2018 10:09:28 AM
> *To:* amd-gfx at lists.freedesktop.org
> *Cc:* Li, Sun peng (Leo); Wentland, Harry; Kazlauskas, Nicholas
> *Subject:* [PATCH] drm/amd/display: Fix NULL ptr deref for 
> commit_planes_to_stream
> [Why]
> With scaling, underscan and abm changes we can end up calling
> commit_planes_to_stream in commit_tail. This call uses dm_state->context
> which can be NULL if the commit was a fast update.
> 
> [How]
> Use dc_state instead since that can't be NULL unless the system ran
> out of memory.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108912
> Fixes: e64abff2f133 ("drm/amd/display: Use private obj helpers for 
> dm_atomic_state")
> 
> Cc: Leo Li <sunpeng.li at amd.com>
> Cc: Harry Wentland <harry.wentland at amd.com>
> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
> ---
>   drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 76b1aebdca0c..8ecd78657d43 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -5011,7 +5011,7 @@ static void amdgpu_dm_atomic_commit_tail(struct 
> drm_atomic_state *state)
>                                   status->plane_count,
>                                   dm_new_crtc_state,
>                                   to_dm_crtc_state(old_crtc_state),
> -                               dm_state->context))
> +                               dc_state))
>                           dm_error("%s: Failed to update stream 
> scaling!\n", __func__);
>           }
> 
> -- 
> 2.17.1
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list