Commit 7daff2a7 authored by Roman Li's avatar Roman Li Committed by Tong Tiangen
Browse files

drm/amd/display: Add check for granularity in dml ceil/floor helpers

mainline inclusion
from mainline-v6.13-rc7
commit 0881fbc4fd62e00a2b8e102725f76d10351b2ea8
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IBIQVO
CVE: CVE-2024-57922

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0881fbc4fd62e00a2b8e102725f76d10351b2ea8



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

[Why]
Wrapper functions for dcn_bw_ceil2() and dcn_bw_floor2()
should check for granularity is non zero to avoid assert and
divide-by-zero error in dcn_bw_ functions.

[How]
Add check for granularity 0.

Cc: Mario Limonciello <mario.limonciello@amd.com>
Reviewed-by: default avatarAlvin Lee <alvin.lee2@amd.com>
Signed-off-by: default avatarRoman Li <Roman.Li@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
(cherry picked from commit f6e09701c3eb2ccb8cb0518e0b67f1c69742a4ec)
Cc: stable@vger.kernel.org
Signed-off-by: default avatarTong Tiangen <tongtiangen@huawei.com>
parent 1b973c5f
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -66,11 +66,15 @@ static inline double dml_max5(double a, double b, double c, double d, double e)

static inline double dml_ceil(double a, double granularity)
{
	if (granularity == 0)
		return 0;
	return (double) dcn_bw_ceil2(a, granularity);
}

static inline double dml_floor(double a, double granularity)
{
	if (granularity == 0)
		return 0;
	return (double) dcn_bw_floor2(a, granularity);
}

@@ -114,11 +118,15 @@ static inline double dml_ceil_2(double f)

static inline double dml_ceil_ex(double x, double granularity)
{
	if (granularity == 0)
		return 0;
	return (double) dcn_bw_ceil2(x, granularity);
}

static inline double dml_floor_ex(double x, double granularity)
{
	if (granularity == 0)
		return 0;
	return (double) dcn_bw_floor2(x, granularity);
}