On Fri, Apr 11, 2025 at 4:23 AM jesse.zh...@amd.com <jesse.zh...@amd.com> wrote: > > Fix an array index out of bounds warning in the DMA IP case of > amdgpu_hw_ip_info() where it was incorrectly checking > adev->gfx.gfx_ring[i].no_user_submission instead of > adev->sdma.instance[i].ring.no_user_submission. > > The mismatch caused UBSAN to report an array bounds violation since > it was accessing the GFX ring array with SDMA instance indices. > > Fix the commit: a245daf3d7a143fb2df(drm/amdgpu: cleanup HW_IP query).
Fixes: 4310acd4464b ("drm/amdgpu: add ring flag for no user submissions") Reviewed-by: Alex Deucher <alexander.deuc...@amd.com> > > Signed-off-by: Jesse Zhang <jesse.zh...@amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c > index 0ba3ef1e4a06..6a42dea775b1 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c > @@ -427,7 +427,7 @@ static int amdgpu_hw_ip_info(struct amdgpu_device *adev, > type = AMD_IP_BLOCK_TYPE_SDMA; > for (i = 0; i < adev->sdma.num_instances; i++) > if (adev->sdma.instance[i].ring.sched.ready && > - !adev->gfx.gfx_ring[i].no_user_submission) > + !adev->sdma.instance[i].ring.no_user_submission) > ++num_rings; > ib_start_alignment = 256; > ib_size_alignment = 4; > -- > 2.25.1 >