]> git.hungrycats.org Git - linux/commitdiff
drm/sti: avoid potential dereference of error pointers in sti_gdp_atomic_check
authorMa Ke <make24@iscas.ac.cn>
Mon, 9 Sep 2024 06:33:59 +0000 (14:33 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Dec 2024 09:41:12 +0000 (10:41 +0100)
commit e965e771b069421c233d674c3c8cd8c7f7245f42 upstream.

The return value of drm_atomic_get_crtc_state() needs to be
checked. To avoid use of error pointer 'crtc_state' in case
of the failure.

Cc: stable@vger.kernel.org
Fixes: dd86dc2f9ae1 ("drm/sti: implement atomic_check for the planes")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
Acked-by: Alain Volmat <alain.volmat@foss.st.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240909063359.1197065-1-make24@iscas.ac.cn
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/sti/sti_gdp.c

index 43c72c2604a0cdb8abd0d8e79cb41d8b45a08290..f046f5f7ad259d28b7c5198222dfc72a5c09f8c5 100644 (file)
@@ -638,6 +638,9 @@ static int sti_gdp_atomic_check(struct drm_plane *drm_plane,
 
        mixer = to_sti_mixer(crtc);
        crtc_state = drm_atomic_get_crtc_state(state, crtc);
+       if (IS_ERR(crtc_state))
+               return PTR_ERR(crtc_state);
+
        mode = &crtc_state->mode;
        dst_x = new_plane_state->crtc_x;
        dst_y = new_plane_state->crtc_y;