Mesa (master): panfrost: Fix panfrost_bo_access memory leak

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jan 13 09:35:49 UTC 2020


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

Author: Daniel Ogorchock <daniel.ogorchock at garmin.com>
Date:   Mon Jan  6 17:33:49 2020 -0600

panfrost: Fix panfrost_bo_access memory leak

The bo access needs to be freed prior to removing it from its hash
table. This prevents leaking them over time.

Signed-off-by: Daniel Ogorchock <daniel.ogorchock at garmin.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3308>

---

 src/gallium/drivers/panfrost/pan_job.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/panfrost/pan_job.c b/src/gallium/drivers/panfrost/pan_job.c
index 208e287740a..d1ce9c0ec33 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -380,8 +380,10 @@ panfrost_gc_fences(struct panfrost_context *ctx)
                 panfrost_bo_access_gc_fences(ctx, access, entry->key);
                 if (!util_dynarray_num_elements(&access->readers,
                                                 struct panfrost_batch_fence *) &&
-                    !access->writer)
+                    !access->writer) {
+                        ralloc_free(access);
                         _mesa_hash_table_remove(ctx->accessed_bos, entry);
+                }
         }
 }
 




More information about the mesa-commit mailing list