[PATCH] drm/amd/display: Free local data after use

Rodrigo Siqueira Rodrigo.Siqueira at amd.com
Mon Mar 15 15:31:17 UTC 2021


Applied to amd-staging-drm-next.

Thanks

On 03/11, Victor Lu wrote:
> Fixes the following memory leak in dc_link_construct():
> 
> unreferenced object 0xffffa03e81471400 (size 1024):
> comm "amd_module_load", pid 2486, jiffies 4294946026 (age 10.544s)
> hex dump (first 32 bytes):
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> backtrace:
> [<000000000bdf5c4a>] kmem_cache_alloc_trace+0x30a/0x4a0
> [<00000000e7c59f0e>] link_create+0xce/0xac0 [amdgpu]
> [<000000002fb6c072>] dc_create+0x370/0x720 [amdgpu]
> [<000000000094d1f3>] amdgpu_dm_init+0x18e/0x17a0 [amdgpu]
> [<00000000bec048fd>] dm_hw_init+0x12/0x20 [amdgpu]
> [<00000000a2bb7cf6>] amdgpu_device_init+0x1463/0x1e60 [amdgpu]
> [<0000000032d3bb13>] amdgpu_driver_load_kms+0x5b/0x330 [amdgpu]
> [<00000000a27834f9>] amdgpu_pci_probe+0x192/0x280 [amdgpu]
> [<00000000fec7d291>] local_pci_probe+0x47/0xa0
> [<0000000055dbbfa7>] pci_device_probe+0xe3/0x180
> [<00000000815da970>] really_probe+0x1c4/0x4e0
> [<00000000b4b6974b>] driver_probe_device+0x62/0x150
> [<000000000f9ecc61>] device_driver_attach+0x58/0x60
> [<000000000f65c843>] __driver_attach+0xd6/0x150
> [<000000002f5e3683>] bus_for_each_dev+0x6a/0xc0
> [<00000000a1cfc897>] driver_attach+0x1e/0x20
> 
> Fixes: a8e30005b47a ("drm/amd/display/dc/core/dc_link: Move some local
> data from the stack to the heap")
> Signed-off-by: Victor Lu <victorchengchi.lu at amd.com>
> ---
>  drivers/gpu/drm/amd/display/dc/core/dc_link.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
> index 9337e87a73e7..b60e0a4dc4bc 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
> @@ -1615,6 +1615,7 @@ static bool dc_link_construct(struct dc_link *link,
>  	link->psr_settings.psr_version = DC_PSR_VERSION_UNSUPPORTED;
>  
>  	DC_LOG_DC("BIOS object table - %s finished successfully.\n", __func__);
> +	kfree(info);
>  	return true;
>  device_tag_fail:
>  	link->link_enc->funcs->destroy(&link->link_enc);
> -- 
> 2.25.1
> 

-- 
Rodrigo Siqueira
https://siqueira.tech
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20210315/bd86535c/attachment.sig>


More information about the amd-gfx mailing list