[PATCH] drm/amdgpu: Fix out-of-bounds write warning
Christian König
christian.koenig at amd.com
Thu Apr 25 12:39:22 UTC 2024
Am 25.04.24 um 12:00 schrieb Ma Jun:
> Check the ring type value to fix the out-of-bounds
> write warning
>
> Signed-off-by: Ma Jun <Jun.Ma2 at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
> index 06f0a6534a94..1e0b5bb47bc9 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
> @@ -353,6 +353,11 @@ int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring,
> ring->hw_prio = hw_prio;
>
> if (!ring->no_scheduler) {
> + if (ring->funcs->type >= AMDGPU_HW_IP_NUM) {
> + dev_warn(adev->dev, "ring type %d has no scheduler\n", ring->funcs->type);
> + return 0;
> + }
> +
That check should probably be at the beginning of the function since
trying to initialize a ring with an invalid type should be rejected
immediately.
Regards,
Christian.
> hw_ip = ring->funcs->type;
> num_sched = &adev->gpu_sched[hw_ip][hw_prio].num_scheds;
> adev->gpu_sched[hw_ip][hw_prio].sched[(*num_sched)++] =
More information about the amd-gfx
mailing list