From e8b4805248c596f2d6391c0c4d9713ed3166ffff Mon Sep 17 00:00:00 2001 From: Icecream95 Date: Sun, 24 Jan 2021 20:53:36 +1300 Subject: [PATCH] panfrost: Use normal malloc/free instead of ralloc for surfaces Fixes a double-free in some Qt5 WebEngine apps (e.g. ghostwriter). Cc: mesa-stable Reviewed-by: Alyssa Rosenzweig Part-of: (cherry picked from commit 1d967132f3c4aefa72224d1029aa64a34053bf6b) --- .pick_status.json | 2 +- src/gallium/drivers/panfrost/pan_resource.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index a7c590011ba..36669d2df46 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -274,7 +274,7 @@ "description": "panfrost: Use normal malloc/free instead of ralloc for surfaces", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c index 66970426096..3d9658ef604 100644 --- a/src/gallium/drivers/panfrost/pan_resource.c +++ b/src/gallium/drivers/panfrost/pan_resource.c @@ -175,7 +175,7 @@ panfrost_create_surface(struct pipe_context *pipe, { struct pipe_surface *ps = NULL; - ps = rzalloc(pipe, struct pipe_surface); + ps = CALLOC_STRUCT(pipe_surface); if (ps) { pipe_reference_init(&ps->reference, 1); @@ -211,7 +211,7 @@ panfrost_surface_destroy(struct pipe_context *pipe, { assert(surf->texture); pipe_resource_reference(&surf->texture, NULL); - ralloc_free(surf); + free(surf); } static struct pipe_resource *