summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/dc/bios/command_table2.c
diff options
context:
space:
mode:
authorAlexander Richards <electrodeyt@gmail.com>2024-01-11 16:04:48 +0100
committerAlex Deucher <alexander.deucher@amd.com>2024-01-15 18:35:37 -0500
commit4630d5031cd87438cc14a4619b8d4148eef1405e (patch)
treeb38dcfdb2613a215e81b60833525f21e187ba5eb /drivers/gpu/drm/amd/display/dc/bios/command_table2.c
parenta25dea474a24ee7d1a2688f13092357d947dee0f (diff)
downloadlinux-4630d5031cd87438cc14a4619b8d4148eef1405e.tar.gz
linux-4630d5031cd87438cc14a4619b8d4148eef1405e.tar.bz2
linux-4630d5031cd87438cc14a4619b8d4148eef1405e.zip
drm/amdgpu: check PS, WS index
Theoretically, it would be possible for a buggy or malicious VBIOS to overwrite past the bounds of the passed parameters (or its own workspace); add bounds checking to prevent this from happening. Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3093 Signed-off-by: Alexander Richards <electrodeyt@gmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/bios/command_table2.c')
-rw-r--r--drivers/gpu/drm/amd/display/dc/bios/command_table2.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/bios/command_table2.c b/drivers/gpu/drm/amd/display/dc/bios/command_table2.c
index 293a919d605d..cbae1be7b009 100644
--- a/drivers/gpu/drm/amd/display/dc/bios/command_table2.c
+++ b/drivers/gpu/drm/amd/display/dc/bios/command_table2.c
@@ -49,7 +49,7 @@
#define EXEC_BIOS_CMD_TABLE(fname, params)\
(amdgpu_atom_execute_table(((struct amdgpu_device *)bp->base.ctx->driver_context)->mode_info.atom_context, \
GET_INDEX_INTO_MASTER_TABLE(command, fname), \
- (uint32_t *)&params) == 0)
+ (uint32_t *)&params, sizeof(params)) == 0)
#define BIOS_CMD_TABLE_REVISION(fname, frev, crev)\
amdgpu_atom_parse_cmd_header(((struct amdgpu_device *)bp->base.ctx->driver_context)->mode_info.atom_context, \