From 5e3ca1f97fa9a3518f782f9721968dbe936fc8c4 Mon Sep 17 00:00:00 2001 From: Patrick Lerda Date: Wed, 18 Jan 2023 15:03:01 +0100 Subject: [PATCH] lima: fix memory leak related to u_transfer_helper_create() Direct leak of 16 byte(s) in 1 object(s) allocated from: #0 0x7fb6224340 in calloc (/usr/lib64/libasan.so.6.0.0+0xa4340) #1 0x7facfdd5a0 in u_transfer_helper_create ../src/gallium/auxiliary/util/u_transfer_helper.c:580 #2 0x7facf2e09c in lima_resource_screen_init ../src/gallium/drivers/lima/lima_resource.c:935 #3 0x7facf23af4 in lima_screen_create ../src/gallium/drivers/lima/lima_screen.c:746 #4 0x7fac83ed30 in kmsro_drm_screen_create ../src/gallium/winsys/kmsro/drm/kmsro_drm_winsys.c:124 Signed-off-by: Patrick Lerda Reviewed-by: Erico Nunes Part-of: --- src/gallium/drivers/lima/lima_resource.c | 6 ++++++ src/gallium/drivers/lima/lima_resource.h | 3 +++ src/gallium/drivers/lima/lima_screen.c | 1 + 3 files changed, 10 insertions(+) diff --git a/src/gallium/drivers/lima/lima_resource.c b/src/gallium/drivers/lima/lima_resource.c index 260212178bb..54869ec03d2 100644 --- a/src/gallium/drivers/lima/lima_resource.c +++ b/src/gallium/drivers/lima/lima_resource.c @@ -934,6 +934,12 @@ lima_resource_screen_init(struct lima_screen *screen) U_TRANSFER_HELPER_MSAA_MAP); } +void +lima_resource_screen_destroy(struct lima_screen *screen) +{ + u_transfer_helper_destroy(screen->base.transfer_helper); +} + void lima_resource_context_init(struct lima_context *ctx) { diff --git a/src/gallium/drivers/lima/lima_resource.h b/src/gallium/drivers/lima/lima_resource.h index b02fa2d14ec..300a606f55c 100644 --- a/src/gallium/drivers/lima/lima_resource.h +++ b/src/gallium/drivers/lima/lima_resource.h @@ -94,6 +94,9 @@ lima_transfer(struct pipe_transfer *trans) void lima_resource_screen_init(struct lima_screen *screen); +void +lima_resource_screen_destroy(struct lima_screen *screen); + void lima_resource_context_init(struct lima_context *ctx); diff --git a/src/gallium/drivers/lima/lima_screen.c b/src/gallium/drivers/lima/lima_screen.c index fd0f0818d14..081060eba57 100644 --- a/src/gallium/drivers/lima/lima_screen.c +++ b/src/gallium/drivers/lima/lima_screen.c @@ -63,6 +63,7 @@ lima_screen_destroy(struct pipe_screen *pscreen) lima_bo_cache_fini(screen); lima_bo_table_fini(screen); disk_cache_destroy(screen->disk_cache); + lima_resource_screen_destroy(screen); ralloc_free(screen); }