| From 8b2faf1a4f3b6c748c0da36cda865a226534d520 Mon Sep 17 00:00:00 2001 |
| From: Bob Zhou <bob.zhou@amd.com> |
| Date: Tue, 23 Apr 2024 16:58:11 +0800 |
| Subject: drm/amdgpu: add error handle to avoid out-of-bounds |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Bob Zhou <bob.zhou@amd.com> |
| |
| commit 8b2faf1a4f3b6c748c0da36cda865a226534d520 upstream. |
| |
| if the sdma_v4_0_irq_id_to_seq return -EINVAL, the process should |
| be stop to avoid out-of-bounds read, so directly return -EINVAL. |
| |
| Signed-off-by: Bob Zhou <bob.zhou@amd.com> |
| Acked-by: Christian Kรถnig <christian.koenig@amd.com> |
| Reviewed-by: Le Ma <le.ma@amd.com> |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c |
| +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c |
| @@ -2007,6 +2007,9 @@ static int sdma_v4_0_process_trap_irq(st |
| |
| DRM_DEBUG("IH: SDMA trap\n"); |
| instance = sdma_v4_0_irq_id_to_seq(entry->client_id); |
| + if (instance < 0) |
| + return instance; |
| + |
| switch (entry->ring_id) { |
| case 0: |
| amdgpu_fence_process(&adev->sdma.instance[instance].ring); |