RE: [PATCH] drm/amdgpu: fix mmhub client id out-of-bounds access

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[Public]

>-----Original Message-----
>From: Zhang, Yifan <Yifan1.Zhang@xxxxxxx>
>Sent: Thursday, March 7, 2024 11:11 AM
>To: Yu, Lang <Lang.Yu@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx
>Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>
>Subject: RE: [PATCH] drm/amdgpu: fix mmhub client id out-of-bounds access
>
>[AMD Official Use Only - General]
>
>Can we just add cid 0x140 "UMSCH" to mmhub_client_ids_v3_3 structure ?

Yes, we can. Then mmhub_client_ids_v3_3's capacity will change from 31 to 320
and most of the space are unused.

Regards,
Lang

>-----Original Message-----
>From: Yu, Lang <Lang.Yu@xxxxxxx>
>Sent: Thursday, March 7, 2024 10:49 AM
>To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
>Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Zhang, Yifan
><Yifan1.Zhang@xxxxxxx>; Yu, Lang <Lang.Yu@xxxxxxx>
>Subject: [PATCH] drm/amdgpu: fix mmhub client id out-of-bounds access
>
>Fixes: aba2be41470a ("drm/amdgpu: add mmhub 3.3.0 support")
>
>Signed-off-by: Lang Yu <Lang.Yu@xxxxxxx>
>---
> drivers/gpu/drm/amd/amdgpu/mmhub_v3_3.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
>diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v3_3.c
>b/drivers/gpu/drm/amd/amdgpu/mmhub_v3_3.c
>index b3961968c10c..238ea40c2450 100644
>--- a/drivers/gpu/drm/amd/amdgpu/mmhub_v3_3.c
>+++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v3_3.c
>@@ -99,16 +99,15 @@
>mmhub_v3_3_print_l2_protection_fault_status(struct amdgpu_device *adev,
>        switch (amdgpu_ip_version(adev, MMHUB_HWIP, 0)) {
>        case IP_VERSION(3, 3, 0):
>        case IP_VERSION(3, 3, 1):
>-               mmhub_cid = mmhub_client_ids_v3_3[cid][rw];
>+               mmhub_cid = cid < ARRAY_SIZE(mmhub_client_ids_v3_3) ?
>+                           mmhub_client_ids_v3_3[cid][rw] :
>+                           cid == 0x140 ? "UMSCH" : NULL;
>                break;
>        default:
>                mmhub_cid = NULL;
>                break;
>        }
>
>-       if (!mmhub_cid && cid == 0x140)
>-               mmhub_cid = "UMSCH";
>-
>        dev_err(adev->dev, "\t Faulty UTCL2 client ID: %s (0x%x)\n",
>                mmhub_cid ? mmhub_cid : "unknown", cid);
>        dev_err(adev->dev, "\t MORE_FAULTS: 0x%lx\n",
>--
>2.25.1
>





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux