RE: [PATCH 5.10 065/452] drm/amdgpu/ucode: Remove firmware load type check in amdgpu_ucode_free_bo

From: Deucher, Alexander
Date: Tue Jun 07 2022 - 14:31:54 EST


[Public]

> -----Original Message-----
> From: Deucher, Alexander
> Sent: Tuesday, June 7, 2022 1:33 PM
> To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; linux-
> kernel@xxxxxxxxxxxxxxx
> Cc: stable@xxxxxxxxxxxxxxx; Wong, Alice <Shiwei.Wong@xxxxxxx>; Sasha
> Levin <sashal@xxxxxxxxxx>
> Subject: RE: [PATCH 5.10 065/452] drm/amdgpu/ucode: Remove firmware
> load type check in amdgpu_ucode_free_bo
>
> [Public]
>
> > -----Original Message-----
> > From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > Sent: Tuesday, June 7, 2022 12:59 PM
> > To: linux-kernel@xxxxxxxxxxxxxxx
> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>;
> > stable@xxxxxxxxxxxxxxx; Wong, Alice <Shiwei.Wong@xxxxxxx>; Deucher,
> > Alexander <Alexander.Deucher@xxxxxxx>; Sasha Levin
> <sashal@xxxxxxxxxx>
> > Subject: [PATCH 5.10 065/452] drm/amdgpu/ucode: Remove firmware load
> > type check in amdgpu_ucode_free_bo
> >
> > From: Alice Wong <shiwei.wong@xxxxxxx>
> >
> > [ Upstream commit ab0cd4a9ae5b4679b714d8dbfedc0901fecdce9f ]
> >
> > When psp_hw_init failed, it will set the load_type to
> > AMDGPU_FW_LOAD_DIRECT.
> > During amdgpu_device_ip_fini, amdgpu_ucode_free_bo checks that
> > load_type is AMDGPU_FW_LOAD_DIRECT and skips deallocating fw_buf
> > causing memory leak.
> > Remove load_type check in amdgpu_ucode_free_bo.
> >
> > Signed-off-by: Alice Wong <shiwei.wong@xxxxxxx>
> > Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx>
> > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
>
>
> I don't think this patch is relevant for kernels older than 5.19. I shouldn't hurt
> anything however.

Nevermind, I see that Sasha backported the entire series that this patch depends on.

Alex

>
> Alex
>
> > ---
> > drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
> > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
> > index b313ce4c3e97..30005ed8156f 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
> > @@ -625,8 +625,7 @@ int amdgpu_ucode_create_bo(struct
> amdgpu_device
> > *adev)
> >
> > void amdgpu_ucode_free_bo(struct amdgpu_device *adev) {
> > - if (adev->firmware.load_type != AMDGPU_FW_LOAD_DIRECT)
> > - amdgpu_bo_free_kernel(&adev->firmware.fw_buf,
> > + amdgpu_bo_free_kernel(&adev->firmware.fw_buf,
> > &adev->firmware.fw_buf_mc,
> > &adev->firmware.fw_buf_ptr);
> > }
> > --
> > 2.35.1
> >
> >