Commit d4fff431 authored by Alex Deucher's avatar Alex Deucher Committed by Yang Yingliang
Browse files

drm/amdgpu: fix UBSAN warning in kv_dpm.c

mainline inclusion
from mainline-v6.10-rc5
commit f0d576f840153392d04b2d52cf3adab8f62e8cb6
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IACQY7
CVE: CVE-2024-40987

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

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

Adds bounds check for sumo_vid_mapping_entry.

Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3392


Reviewed-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Conflicts:
	drivers/gpu/drm/amd/amdgpu/kv_dpm.c
	drivers/gpu/drm/amd/pm/legacy-dpm/kv_dpm.c
[yyl: The directory is renamed from amdgpu to legacy-dpm in mainline]
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
parent 6891240d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -164,6 +164,8 @@ static void sumo_construct_vid_mapping_table(struct amdgpu_device *adev,

	for (i = 0; i < SUMO_MAX_HARDWARE_POWERLEVELS; i++) {
		if (table[i].ulSupportedSCLK != 0) {
			if (table[i].usVoltageIndex >= SUMO_MAX_NUMBER_VOLTAGES)
				continue;
			vid_mapping_table->entries[table[i].usVoltageIndex].vid_7bit =
				table[i].usVoltageID;
			vid_mapping_table->entries[table[i].usVoltageIndex].vid_2bit =