Commit 28213f12 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-v5.15.174
commit f5804567cf9605d6e5ec46c0bb786f7d50f18c13
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=f5804567cf9605d6e5ec46c0bb786f7d50f18c13



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

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>
Conflicts:
	drivers/gpu/drm/sti/sti_gdp.c
[Context conflicts]
Signed-off-by: default avatarLin Ruifeng <linruifeng4@huawei.com>
parent 06b319b4
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -634,6 +634,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->state, crtc);
	if (IS_ERR(crtc_state))
		return PTR_ERR(crtc_state);

	mode = &crtc_state->mode;
	dst_x = state->crtc_x;
	dst_y = state->crtc_y;