summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu
diff options
context:
space:
mode:
authorGangliang Xie <ganglxie@amd.com>2026-05-12 15:05:16 +0800
committerAlex Deucher <alexander.deucher@amd.com>2026-05-19 11:52:53 -0400
commit4073cdf6713b7c170e35bf055354580cc52085d6 (patch)
tree9a5f4c6d2570dcd067144080b13271484974e056 /drivers/gpu/drm/amd/amdgpu
parenta99cd231cd924b7160fecb9fb3a94b801522323b (diff)
downloadlwn-4073cdf6713b7c170e35bf055354580cc52085d6.tar.gz
lwn-4073cdf6713b7c170e35bf055354580cc52085d6.zip
drm/amdgpu: add first record offset check
check the upper and lower limits of first record offset Signed-off-by: Gangliang Xie <ganglxie@amd.com> Reviewed-by: Tao Zhou <tao.zhou1@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c
index 5e35a6c14149..c61389a07982 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c
@@ -1634,6 +1634,14 @@ int amdgpu_ras_eeprom_init(struct amdgpu_ras_eeprom_control *control)
}
control->ras_fri = RAS_OFFSET_TO_INDEX(control, hdr->first_rec_offset);
+ if (hdr->first_rec_offset < control->ras_record_offset ||
+ control->ras_fri >= control->ras_max_record_count) {
+ dev_err(adev->dev,
+ "RAS header invalid, ras_fri: %u, first_rec_offset:0x%x",
+ control->ras_fri, hdr->first_rec_offset);
+ return -EINVAL;
+ }
+
control->ras_num_mca_recs = 0;
control->ras_num_pa_recs = 0;
return 0;