From 4a3c715bb4654ae2c8b61bfb8af8dadde60d675a Mon Sep 17 00:00:00 2001 From: cheyang Date: Wed, 26 May 2021 20:44:57 +0800 Subject: [PATCH] virgl:Fix the leak of hw_res used as fence Fence destroy hw_res not dec reference.Lead leak. Call virgl_drm_resource_reference() to release hw_res instead of calling virgl_hw_res_destroy() directly. Fixes: c54fb6ef3d8 ("virgl: Don't destroy resource while it's in use.") Signed-off-by: cheyang Reviewed-by: Chia-I Wu Reviewed-by: Lepton Wu Part-of: --- src/gallium/winsys/virgl/drm/virgl_drm_winsys.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c index 6ff94ced519..1dd7b001925 100644 --- a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c +++ b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c @@ -1044,8 +1044,7 @@ static void virgl_fence_reference(struct virgl_winsys *vws, if (vws->supports_fences) { close(dfence->fd); } else { - struct virgl_drm_winsys *vdws = virgl_drm_winsys(vws); - virgl_hw_res_destroy(vdws, dfence->hw_res); + virgl_drm_resource_reference(vws, &dfence->hw_res, NULL); } FREE(dfence); }