Commit 1160aa7a authored by Ma Ke's avatar Ma Ke Committed by Lin Ruifeng
Browse files

drm/sti: avoid potential dereference of error pointers in sti_gdp_atomic_check

stable inclusion
from stable-v6.6.64
commit 997b64c3f4c1827c5cfda8ae7f5d13f78d28b541
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IBHBX6
CVE: CVE-2024-56777

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=997b64c3f4c1827c5cfda8ae7f5d13f78d28b541



--------------------------------

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: dd86dc2f ("drm/sti: implement atomic_check for the planes")
Signed-off-by: default avatarMa Ke <make24@iscas.ac.cn>
Acked-by: default avatarAlain Volmat <alain.volmat@foss.st.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240909063359.1197065-1-make24@iscas.ac.cn


Signed-off-by: default avatarAlain Volmat <alain.volmat@foss.st.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarLin Ruifeng <linruifeng4@huawei.com>
parent 874edbaf
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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;