]> git.ipfire.org Git - thirdparty/kernel/stable.git/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>
Sat, 14 Dec 2024 18:51:24 +0000 (19:51 +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 d1a35d97bc4564a1b15e21f4e7c77be5e99a1c69..eb47a04ec6bf153b0a60e2cbccab60412e009d95 100644 (file)
@@ -636,6 +636,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;