mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-21 23:16:50 +08:00
drm/amdgpu/mmhub2.0: add bounds checking for cid
The value should never exceed the array size as those are the only values the hardware is expected to return, but add checks anyway. Reviewed-by: Benjamin Cheng <benjamin.cheng@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> (cherry picked from commit e064cef4b53552602bb6ac90399c18f662f3cacd) Cc: stable@vger.kernel.org
This commit is contained in:
@@ -154,14 +154,17 @@ mmhub_v2_0_print_l2_protection_fault_status(struct amdgpu_device *adev,
|
||||
switch (amdgpu_ip_version(adev, MMHUB_HWIP, 0)) {
|
||||
case IP_VERSION(2, 0, 0):
|
||||
case IP_VERSION(2, 0, 2):
|
||||
mmhub_cid = mmhub_client_ids_navi1x[cid][rw];
|
||||
mmhub_cid = cid < ARRAY_SIZE(mmhub_client_ids_navi1x) ?
|
||||
mmhub_client_ids_navi1x[cid][rw] : NULL;
|
||||
break;
|
||||
case IP_VERSION(2, 1, 0):
|
||||
case IP_VERSION(2, 1, 1):
|
||||
mmhub_cid = mmhub_client_ids_sienna_cichlid[cid][rw];
|
||||
mmhub_cid = cid < ARRAY_SIZE(mmhub_client_ids_sienna_cichlid) ?
|
||||
mmhub_client_ids_sienna_cichlid[cid][rw] : NULL;
|
||||
break;
|
||||
case IP_VERSION(2, 1, 2):
|
||||
mmhub_cid = mmhub_client_ids_beige_goby[cid][rw];
|
||||
mmhub_cid = cid < ARRAY_SIZE(mmhub_client_ids_beige_goby) ?
|
||||
mmhub_client_ids_beige_goby[cid][rw] : NULL;
|
||||
break;
|
||||
default:
|
||||
mmhub_cid = NULL;
|
||||
|
||||
Reference in New Issue
Block a user