[Mesa-dev] [PATCH] i965: fix prog_data leak in brw_disk_cache

Iago Toral itoral at igalia.com
Fri Jan 26 09:02:57 UTC 2018


Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>

On Fri, 2018-01-26 at 10:27 +0200, Tapani Pälli wrote:
>    ==25481== 576 bytes in 1 blocks are definitely lost in loss record
> 179 of 208
>    ==25481==    at 0x4C2FB6B: malloc (vg_replace_malloc.c:299)
>    ==25481==    by 0x1404E2CC: ralloc_size (ralloc.c:121)
>    ==25481==    by 0x14119F82: read_and_upload (brw_disk_cache.c:176)
>    ==25481==    by 0x1411A5C9: brw_disk_cache_upload_program
> (brw_disk_cache.c:271)
>    ==25481==    by 0x1412FCA4: brw_upload_wm_prog (brw_wm.c:597)
> 
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> ---
>  src/mesa/drivers/dri/i965/brw_disk_cache.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_disk_cache.c
> b/src/mesa/drivers/dri/i965/brw_disk_cache.c
> index b30fc4475e..4416f7d0e7 100644
> --- a/src/mesa/drivers/dri/i965/brw_disk_cache.c
> +++ b/src/mesa/drivers/dri/i965/brw_disk_cache.c
> @@ -185,6 +185,7 @@ read_and_upload(struct brw_context *brw, struct
> disk_cache *cache,
>        }
>  
>        disk_cache_remove(cache, binary_sha1);
> +      ralloc_free(prog_data);
>        free(buffer);
>        return false;
>     }
> @@ -236,6 +237,7 @@ read_and_upload(struct brw_context *brw, struct
> disk_cache *cache,
>  
>     prog->program_written_to_cache = true;
>  
> +   ralloc_free(prog_data);
>     free(buffer);
>  
>     return true;


More information about the mesa-dev mailing list