[PATCH 1/2] drm/amdgpu: Fix null ptr when calling query_ras_error_count

Zhou1, Tao Tao.Zhou1 at amd.com
Wed Aug 14 02:58:22 UTC 2019


Referring to the series, patch #1 and #2.

Regards,
Tao

> -----Original Message-----
> From: Grodzovsky, Andrey <Andrey.Grodzovsky at amd.com>
> Sent: 2019年8月14日 10:42
> To: Zhou1, Tao <Tao.Zhou1 at amd.com>; amd-gfx at lists.freedesktop.org
> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Pan, Xinhui
> <Xinhui.Pan at amd.com>; Zhang, Hawking <Hawking.Zhang at amd.com>
> Subject: Re: [PATCH 1/2] drm/amdgpu: Fix null ptr when calling
> query_ras_error_count
> 
> Are you referring to this patch which fixes a crash or to the second patch in
> the serries ?
> 
> Andrey
> 
> ________________________________________
> From: Zhou1, Tao <Tao.Zhou1 at amd.com>
> Sent: 13 August 2019 22:24:00
> To: Grodzovsky, Andrey; amd-gfx at lists.freedesktop.org
> Cc: Deucher, Alexander; Grodzovsky, Andrey; Pan, Xinhui; Zhang, Hawking
> Subject: RE: [PATCH 1/2] drm/amdgpu: Fix null ptr when calling
> query_ras_error_count
> 
> Hi Andrey:
> 
> I'm also working on ras error address saving based on your eeprom patches,
> and the implementation is different from you.
> I'll send out my patches this week and we can discuss it.
> 
> Regards,
> Tao
> 
> > -----Original Message-----
> > From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of
> > Andrey Grodzovsky
> > Sent: 2019年8月14日 1:51
> > To: amd-gfx at lists.freedesktop.org
> > Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Grodzovsky,
> Andrey
> > <Andrey.Grodzovsky at amd.com>; Pan, Xinhui <Xinhui.Pan at amd.com>;
> Zhang,
> > Hawking <Hawking.Zhang at amd.com>
> > Subject: [PATCH 1/2] drm/amdgpu: Fix null ptr when calling
> > query_ras_error_count
> >
> > ras_err_data.err_addr was never allocated
> >
> > Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com>
> > ---
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 17 +++++++++++++++++
> >  1 file changed, 17 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> > index 50c13b0..d9fb860 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> > @@ -1011,6 +1011,21 @@ static void
> amdgpu_ras_interrupt_handler(struct
> > ras_manager *obj)
> >       int ret;
> >       struct ras_err_data err_data = {0, 0, 0, NULL};
> >
> > +     /* Allocate enough to serve max  number of requests*/
> > +     int err_addr_size = data->ring_size / data->aligned_element_size *
> > +                        obj->adev->umc.umc_inst_num *
> > +                        obj->adev->umc.channel_inst_num;
> > +
> > +     err_data.err_addr = kcalloc(err_addr_size,
> > +                                 sizeof(*err_data.err_addr),
> > +                                 GFP_KERNEL);
> > +
> > +     if (!err_data.err_addr) {
> > +             DRM_ERROR("Not enough memory!");
> > +             return;
> > +     }
> > +
> > +
> >       while (data->rptr != data->wptr) {
> >               rmb();
> >               memcpy(&entry, &data->ring[data->rptr], @@ -1039,6
> > +1054,8 @@ static void amdgpu_ras_interrupt_handler(struct
> ras_manager
> > *obj)
> >                       }
> >               }
> >       }
> > +
> > +      kfree(err_data.err_addr);
> >  }
> >
> >  static void amdgpu_ras_interrupt_process_handler(struct work_struct
> > *work)
> > --
> > 2.7.4
> >
> > _______________________________________________
> > amd-gfx mailing list
> > amd-gfx at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list