From a00e1b3a6350ea987198d02fbc9d8c6426086e65 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Wed, 27 Apr 2022 01:35:02 -0700 Subject: [PATCH] crocus: Fix memory leaks on iris_resource_create failure paths We've already allocated the pipe resource, so we ought to free it before returning. Fixes: d8a38edc48e ("crocus: fail resource allocation properly.") Fixes: f3630548f1d ("crocus: initial gallium driver for Intel gfx 4-7") Reviewed-by: Dave Airlie Part-of: (cherry picked from commit 6c7916b7f665db7f5af929ed0f64206d70fccc56) --- .pick_status.json | 2 +- src/gallium/drivers/crocus/crocus_resource.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 77b0360a447..d27ce5b7bb4 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -7753,7 +7753,7 @@ "description": "crocus: Fix memory leaks on iris_resource_create failure paths", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "d8a38edc48e5567e5f0205b7347761e3d05a4bda" }, diff --git a/src/gallium/drivers/crocus/crocus_resource.c b/src/gallium/drivers/crocus/crocus_resource.c index c35b63079c2..95df0b02c48 100644 --- a/src/gallium/drivers/crocus/crocus_resource.c +++ b/src/gallium/drivers/crocus/crocus_resource.c @@ -695,12 +695,12 @@ crocus_resource_create_with_modifiers(struct pipe_screen *pscreen, if (templ->usage == PIPE_USAGE_STAGING && templ->bind == PIPE_BIND_DEPTH_STENCIL && devinfo->ver < 6) - return NULL; + goto fail; const bool isl_surf_created_successfully = crocus_resource_configure_main(screen, res, templ, modifier, 0); if (!isl_surf_created_successfully) - return NULL; + goto fail; const char *name = "miptree";