From: Nicholas Kazlauskas Date: Fri, 30 Nov 2018 14:56:02 +0000 (-0500) Subject: drm/amd/display: Fix NULL ptr deref for commit_planes_to_stream X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=fb6e4709e32ce2c8eae2ca03d2175c3c24adbc54;p=openwrt%2Fstaging%2Fblogic.git 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") Signed-off-by: Nicholas Kazlauskas Acked-by: Alex Deucher Reviewed-by: Leo Li Signed-off-by: Alex Deucher --- 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 c791003c8133..32e791d9b9a8 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -5009,7 +5009,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__); }