drm/mediatek: Fix dereference before null check
authorJason-JH.Lin <jason-jh.lin@mediatek.com>
Fri, 14 Jul 2023 09:49:08 +0000 (17:49 +0800)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Thu, 10 Aug 2023 23:50:32 +0000 (23:50 +0000)
Null-checking state suggests that it may be null, but it has already
been dereferenced on drm_atomic_get_new_plane_state(state, plane).

The parameter state will never be NULL currently, so just remove the
state is NULL flow in this function.

Fixes: 5ddb0bd4ddc3 ("drm/atomic: Pass the full state to planes async atomic check and update")
Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20230714094908.13087-5-jason-jh.lin@mediatek.com/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_drm_plane.c

index 31f9420..db2f70a 100644 (file)
@@ -122,11 +122,7 @@ static int mtk_plane_atomic_async_check(struct drm_plane *plane,
        if (ret)
                return ret;
 
-       if (state)
-               crtc_state = drm_atomic_get_existing_crtc_state(state,
-                                                               new_plane_state->crtc);
-       else /* Special case for asynchronous cursor updates. */
-               crtc_state = new_plane_state->crtc->state;
+       crtc_state = drm_atomic_get_existing_crtc_state(state, new_plane_state->crtc);
 
        return drm_atomic_helper_check_plane_state(plane->state, crtc_state,
                                                   DRM_PLANE_NO_SCALING,