Commit 274b9393 authored by Alex Hung's avatar Alex Hung Committed by Yongqiang Liu
Browse files

drm/amd/display: Check denominator crb_pipes before used

stable inclusion
from stable-v6.10.10
commit ede06d23392529b039cf7ac11b5875b047900f1c
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IARWUL
CVE: CVE-2024-46772

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



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

[ Upstream commit ea79068d4073bf303f8203f2625af7d9185a1bc6 ]

[WHAT & HOW]
A denominator cannot be 0, and is checked before used.

This fixes 2 DIVIDE_BY_ZERO issues reported by Coverity.

Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarJerry Zuo <jerry.zuo@amd.com>
Signed-off-by: default avatarAlex Hung <alex.hung@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Conflicts:
	drivers/gpu/drm/amd/display/dc/resource/dcn315/dcn315_resource.c
	drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.c
[Yongqiang: adaption for origin file]
Signed-off-by: default avatarYongqiang Liu <liuyongqiang13@huawei.com>
parent 2ee831f8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1751,7 +1751,7 @@ static int dcn315_populate_dml_pipes_from_context(
				bool split_required = pipe->stream->timing.pix_clk_100hz >= dcn_get_max_non_odm_pix_rate_100hz(&dc->dml.soc)
						|| (pipe->plane_state && pipe->plane_state->src_rect.width > 5120);

				if (remaining_det_segs > MIN_RESERVED_DET_SEGS)
				if (remaining_det_segs > MIN_RESERVED_DET_SEGS && crb_pipes != 0)
					pipes[pipe_cnt].pipe.src.det_size_override += (remaining_det_segs - MIN_RESERVED_DET_SEGS) / crb_pipes +
							(crb_idx < (remaining_det_segs - MIN_RESERVED_DET_SEGS) % crb_pipes ? 1 : 0);
				if (pipes[pipe_cnt].pipe.src.det_size_override > 2 * DCN3_15_MAX_DET_SEGS) {