From f8a37832df533253eda48ed9da04c5549ff0030c Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Thu, 16 Sep 2021 18:52:39 +0200 Subject: [PATCH] lima: fix leak of the screen hash table Signed-off-by: Christian Gmeiner Reviewed-by: Erico Nunes Part-of: --- src/gallium/winsys/lima/drm/lima_drm_winsys.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/gallium/winsys/lima/drm/lima_drm_winsys.c b/src/gallium/winsys/lima/drm/lima_drm_winsys.c index b23f1113776..9c8cd933e79 100644 --- a/src/gallium/winsys/lima/drm/lima_drm_winsys.c +++ b/src/gallium/winsys/lima/drm/lima_drm_winsys.c @@ -47,8 +47,14 @@ lima_drm_screen_destroy(struct pipe_screen *pscreen) mtx_lock(&lima_screen_mutex); destroy = --screen->refcnt == 0; - if (destroy) + if (destroy) { _mesa_hash_table_remove_key(fd_tab, intptr_to_pointer(fd)); + + if (!fd_tab->entries) { + _mesa_hash_table_destroy(fd_tab, NULL); + fd_tab = NULL; + } + } mtx_unlock(&lima_screen_mutex); if (destroy) {