Mesa (master): freedreno/drm: fix memory leak

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Dec 7 19:12:24 UTC 2018


Module: Mesa
Branch: master
Commit: d014af98b7afc69f4f733c8b8b6f2e3438e68407
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d014af98b7afc69f4f733c8b8b6f2e3438e68407

Author: Rob Clark <robdclark at gmail.com>
Date:   Fri Dec  7 14:11:01 2018 -0500

freedreno/drm: fix memory leak

Fix an emberrasing memory leak with the non-softpin submit/rb
implementation.

Fixes: f3cc0d27475 freedreno: import libdrm_freedreno + redesign submit
Signed-off-by: Rob Clark <robdclark at gmail.com>

---

 src/freedreno/drm/msm_ringbuffer.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/freedreno/drm/msm_ringbuffer.c b/src/freedreno/drm/msm_ringbuffer.c
index 673ef436e2..369f26f983 100644
--- a/src/freedreno/drm/msm_ringbuffer.c
+++ b/src/freedreno/drm/msm_ringbuffer.c
@@ -97,6 +97,7 @@ static void
 cmd_free(struct msm_cmd *cmd)
 {
 	fd_bo_del(cmd->ring_bo);
+	free(cmd->relocs);
 	free(cmd);
 }
 
@@ -653,6 +654,7 @@ msm_ringbuffer_destroy(struct fd_ringbuffer *ring)
 
 		_mesa_set_destroy(msm_ring->u.ring_set, unref_rings);
 
+		free(msm_ring->u.reloc_bos);
 		free(msm_ring);
 	} else {
 		struct fd_submit *submit = msm_ring->u.submit;
@@ -661,6 +663,7 @@ msm_ringbuffer_destroy(struct fd_ringbuffer *ring)
 			cmd_free(msm_ring->u.cmds[i]);
 		}
 
+		free(msm_ring->u.cmds);
 		slab_free_st(&to_msm_submit(submit)->ring_pool, msm_ring);
 	}
 }




More information about the mesa-commit mailing list