drm/amdgpu: add check to avoid array bound issue
authorGuchun Chen <guchun.chen@amd.com>
Thu, 8 Aug 2019 06:54:41 +0000 (14:54 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 12 Aug 2019 17:47:48 +0000 (12:47 -0500)
Sub_block_index can be passed from user level, so
add one check before accessing the array first to
prevent array index out of bound problem.

Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c

index 52a6fd1..24ff321 100644 (file)
@@ -5978,6 +5978,9 @@ static int gfx_v9_0_ras_error_inject(struct amdgpu_device *adev,
        if (adev->asic_type != CHIP_VEGA20)
                return -EINVAL;
 
+       if (info->head.sub_block_index >= ARRAY_SIZE(ras_gfx_subblocks))
+               return -EINVAL;
+
        if (!ras_gfx_subblocks[info->head.sub_block_index].name)
                return -EPERM;