drm: rcar-du: Zero-out sg_tables when duplicating plane state
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 17 Jan 2018 20:18:41 +0000 (22:18 +0200)
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Thu, 26 Apr 2018 10:48:22 +0000 (13:48 +0300)
commit75a07f399cd43bc7fb41a13723fbe04e61c5c470
tree6133301fb55e1a1791430c5215a62ee8ae5b4324
parent6d08b06e67cd117f6992c46611dfb4ce267cd71e
drm: rcar-du: Zero-out sg_tables when duplicating plane state

The state structure for VSP-backed planes, rcar_du_vsp_plane_state,
contains sg tables that track framebuffer mapping performed in the
.prepare_fb() operation to unmap them in .cleanup_fb(). The tables are
incorrectly copied when duplicating state, which can result :

Zero-out sg_tables in original plane, effectively introducing move
semantic. Seems, this fixes issue with double-free,
when rcar_du_vsp_plane_cleanup_fb() freed the same sg_table
both in original plane and in the copy.

Reported-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
drivers/gpu/drm/rcar-du/rcar_du_vsp.c