From 4900c0cff4cc1a5966d70402a8ee01b7495d3a0e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tapani=20P=C3=A4lli?= Date: Wed, 6 Mar 2019 12:27:30 +0200 Subject: [PATCH] anv: call blob_finish when done with it MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes leaks from anv_device_upload_nir: ==7345== 8,192 bytes in 2 blocks are definitely lost in loss record 24 of 24 ==7345== at 0x4C2ED78: malloc (vg_replace_malloc.c:308) ==7345== by 0x4C31393: realloc (vg_replace_malloc.c:836) ==7345== by 0x54E0848: grow_to_fit (blob.c:67) ==7345== by 0x54E0BE5: blob_reserve_bytes (blob.c:166) ==7345== by 0x54E0C7C: blob_reserve_intptr (blob.c:186) ==7345== by 0x54704A7: nir_serialize (nir_serialize.c:1091) ==7345== by 0x512F97D: anv_device_upload_nir (anv_pipeline_cache.c:756) Signed-off-by: Tapani Pälli Reviewed-by: Lionel Landwerlin Reviewed-by: Eric Engestrom --- src/intel/vulkan/anv_pipeline_cache.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/intel/vulkan/anv_pipeline_cache.c b/src/intel/vulkan/anv_pipeline_cache.c index 056e2df6e9a..ecdd4da73ca 100644 --- a/src/intel/vulkan/anv_pipeline_cache.c +++ b/src/intel/vulkan/anv_pipeline_cache.c @@ -766,6 +766,7 @@ anv_device_upload_nir(struct anv_device *device, */ entry = _mesa_hash_table_search(cache->nir_cache, sha1_key); if (entry) { + blob_finish(&blob); pthread_mutex_unlock(&cache->mutex); return; } @@ -776,6 +777,8 @@ anv_device_upload_nir(struct anv_device *device, snir->size = blob.size; memcpy(snir->data, blob.data, blob.size); + blob_finish(&blob); + _mesa_hash_table_insert(cache->nir_cache, snir->sha1_key, snir); pthread_mutex_unlock(&cache->mutex); -- 2.30.2