diff options
author | Patrick Lerda <patrick9876@free.fr> | 2023-01-18 15:03:01 +0100 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-01-18 17:50:40 +0000 |
commit | 5e3ca1f97fa9a3518f782f9721968dbe936fc8c4 (patch) | |
tree | 42a7c1aaa0b10307dbebe580d78be5965b97b061 | |
parent | 926ba335fdf357e8bc8df0959c1ae72ba35204a4 (diff) | |
download | mesa-5e3ca1f97fa9a3518f782f9721968dbe936fc8c4.tar.gz |
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 <patrick9876@free.fr>
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20764>
-rw-r--r-- | src/gallium/drivers/lima/lima_resource.c | 6 | ||||
-rw-r--r-- | src/gallium/drivers/lima/lima_resource.h | 3 | ||||
-rw-r--r-- | src/gallium/drivers/lima/lima_screen.c | 1 |
3 files changed, 10 insertions, 0 deletions
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 @@ -935,6 +935,12 @@ lima_resource_screen_init(struct lima_screen *screen) } 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) { ctx->base.create_surface = lima_surface_create; 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 @@ -95,6 +95,9 @@ 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); #endif 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); } |