summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/vc4/vc4_validate_shaders.c
diff options
context:
space:
mode:
authorDaniel J Blueman <daniel@quora.org>2018-04-02 15:10:35 +0800
committerEric Anholt <eric@anholt.net>2018-04-09 12:42:08 -0700
commitc0db1b677e1d584fab5d7ac76a32e1c0157542e0 (patch)
tree4c85b772694f32ef50ff55ac338a9f6020015658 /drivers/gpu/drm/vc4/vc4_validate_shaders.c
parent5a9f698feb11b198f17b2acebbfe0e2716a3beed (diff)
downloadlinux-c0db1b677e1d584fab5d7ac76a32e1c0157542e0.tar.gz
linux-c0db1b677e1d584fab5d7ac76a32e1c0157542e0.tar.bz2
linux-c0db1b677e1d584fab5d7ac76a32e1c0157542e0.zip
drm/vc4: Fix memory leak during BO teardown
During BO teardown, an indirect list 'uniform_addr_offsets' wasn't being freed leading to leaking many 128B allocations. Fix the memory leak by releasing it at teardown time. Cc: stable@vger.kernel.org Fixes: 6d45c81d229d ("drm/vc4: Add support for branching in shader validation.") Signed-off-by: Daniel J Blueman <daniel@quora.org> Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net> Link: https://patchwork.freedesktop.org/patch/msgid/20180402071035.25356-1-daniel@quora.org
Diffstat (limited to 'drivers/gpu/drm/vc4/vc4_validate_shaders.c')
-rw-r--r--drivers/gpu/drm/vc4/vc4_validate_shaders.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_validate_shaders.c b/drivers/gpu/drm/vc4/vc4_validate_shaders.c
index d3f15bf60900..7cf82b071de2 100644
--- a/drivers/gpu/drm/vc4/vc4_validate_shaders.c
+++ b/drivers/gpu/drm/vc4/vc4_validate_shaders.c
@@ -942,6 +942,7 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj)
fail:
kfree(validation_state.branch_targets);
if (validated_shader) {
+ kfree(validated_shader->uniform_addr_offsets);
kfree(validated_shader->texture_samples);
kfree(validated_shader);
}