[AMD Public Use] Reviewed-by: Tao Zhou <tao.zhou1@xxxxxxx> > -----Original Message----- > From: Chen, Guchun <Guchun.Chen@xxxxxxx> > Sent: 2020年6月2日 13:50 > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx; Zhang, Hawking > <Hawking.Zhang@xxxxxxx>; Zhou1, Tao <Tao.Zhou1@xxxxxxx> > Cc: Chen, Guchun <Guchun.Chen@xxxxxxx> > Subject: [PATCH] drm/amdgpu: fix RAS memory leak in error case > > RAS context memory needs to freed in failure case. > > Signed-off-by: Guchun Chen <guchun.chen@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 19 ++++++++++--------- > 1 file changed, 10 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c > index 5c73f444eaef..79bb05d791bc 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c > @@ -1881,9 +1881,8 @@ int amdgpu_ras_init(struct amdgpu_device *adev) > amdgpu_ras_check_supported(adev, &con->hw_supported, > &con->supported); > if (!con->hw_supported) { > - amdgpu_ras_set_context(adev, NULL); > - kfree(con); > - return 0; > + r = 0; > + goto err_out; > } > > con->features = 0; > @@ -1894,29 +1893,31 @@ int amdgpu_ras_init(struct amdgpu_device > *adev) > if (adev->nbio.funcs->init_ras_controller_interrupt) { > r = adev->nbio.funcs->init_ras_controller_interrupt(adev); > if (r) > - return r; > + goto err_out; > } > > if (adev->nbio.funcs->init_ras_err_event_athub_interrupt) { > r = adev->nbio.funcs- > >init_ras_err_event_athub_interrupt(adev); > if (r) > - return r; > + goto err_out; > } > > amdgpu_ras_mask &= AMDGPU_RAS_BLOCK_MASK; > > - if (amdgpu_ras_fs_init(adev)) > - goto fs_out; > + if (amdgpu_ras_fs_init(adev)) { > + r = -EINVAL; > + goto err_out; > + } > > dev_info(adev->dev, "RAS INFO: ras initialized successfully, " > "hardware ability[%x] ras_mask[%x]\n", > con->hw_supported, con->supported); > return 0; > -fs_out: > +err_out: > amdgpu_ras_set_context(adev, NULL); > kfree(con); > > - return -EINVAL; > + return r; > } > > /* helper function to handle common stuff in ip late init phase */ > -- > 2.17.1 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx