]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/vc4: Fix memory leak of BO array in hang state
authorMaíra Canal <mcanal@igalia.com>
Mon, 30 Mar 2026 17:51:44 +0000 (14:51 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Apr 2026 11:30:36 +0000 (13:30 +0200)
[ Upstream commit f4dfd6847b3e5d24e336bca6057485116d17aea4 ]

The hang state's BO array is allocated separately with kzalloc() in
vc4_save_hang_state() but never freed in vc4_free_hang_state(). Add the
missing kfree() for the BO array before freeing the hang state struct.

Fixes: 214613656b51 ("drm/vc4: Add an interface for capturing the GPU state after a hang.")
Reviewed-by: Melissa Wen <mwen@igalia.com>
Link: https://patch.msgid.link/20260330-vc4-misc-fixes-v1-2-92defc940a29@igalia.com
Signed-off-by: Maíra Canal <mcanal@igalia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/vc4/vc4_gem.c

index ab16164b5edaf382b9c4bf1f08766748cac77fcc..0562f78e283571f755034fa7317ac420e0c7b329 100644 (file)
@@ -62,6 +62,7 @@ vc4_free_hang_state(struct drm_device *dev, struct vc4_hang_state *state)
        for (i = 0; i < state->user_state.bo_count; i++)
                drm_gem_object_put(state->bo[i]);
 
+       kfree(state->bo);
        kfree(state);
 }