From: Laurent Pinchart Date: Thu, 5 Mar 2015 17:41:04 +0000 (+0200) Subject: drm: rcar-du: Fix framebuffer reference leak through plane state X-Git-Tag: v4.1-rc1~69^2~25^2~2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=de115fac7388264f6f1865a12ea6e4101bd05c48;p=karo-tx-linux.git drm: rcar-du: Fix framebuffer reference leak through plane state Plane state duplication takes a reference to the framebuffer stored in the state, but state destroy doesn't release it. This causes a reference leak. Fix it. Signed-off-by: Laurent Pinchart --- diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c index 35a2f04ab799..210e5c3fd982 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c @@ -316,6 +316,9 @@ rcar_du_plane_atomic_duplicate_state(struct drm_plane *plane) static void rcar_du_plane_atomic_destroy_state(struct drm_plane *plane, struct drm_plane_state *state) { + if (state->fb) + drm_framebuffer_unreference(state->fb); + kfree(to_rcar_du_plane_state(state)); }