From: Marek Vasut Date: Thu, 30 Jan 2020 00:40:31 +0000 (+0100) Subject: etnaviv: Destroy rsc->pending_ctx set in etna_resource_destroy() X-Git-Tag: android-x86-9.0-r1^2~32 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=88986b59f3185c04a68f331942a45e64c46913d6;p=android-x86%2Fexternal-mesa.git etnaviv: Destroy rsc->pending_ctx set in etna_resource_destroy() Destroy rsc->pending_ctx set in etna_resource_destroy(), otherwise the memory is allocated, never free'd, and becomes unreachable. This fixes a memory leak. Fixes: 9e672e4d20fb ("etnaviv: keep references to pending resources") Cc: Signed-off-by: Marek Vasut Reviewed-by: Christian Gmeiner Tested-by: Marge Bot Part-of: (cherry picked from commit c32bd325e7688c781b7e5de58a2d0534c82f00a0) --- diff --git a/.pick_status.json b/.pick_status.json index bbb7b71b280..4bd660f5486 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -76,7 +76,7 @@ "description": "etnaviv: Destroy rsc->pending_ctx set in etna_resource_destroy()", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "9e672e4d20fb77e1b39aee29f9e8e76a5c2af68e" }, diff --git a/src/gallium/drivers/etnaviv/etnaviv_resource.c b/src/gallium/drivers/etnaviv/etnaviv_resource.c index f83e9b99a5e..db5d1d930da 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_resource.c +++ b/src/gallium/drivers/etnaviv/etnaviv_resource.c @@ -468,6 +468,7 @@ etna_resource_destroy(struct pipe_screen *pscreen, struct pipe_resource *prsc) struct etna_resource *rsc = etna_resource(prsc); assert(!_mesa_set_next_entry(rsc->pending_ctx, NULL)); + _mesa_set_destroy(rsc->pending_ctx, NULL); if (rsc->bo) etna_bo_del(rsc->bo);