[PATCH] drm: rcar-du: Fix plane state free in plane reset handler

Daniel Vetter daniel at ffwll.ch
Fri Aug 14 00:30:15 PDT 2015


On Fri, Aug 14, 2015 at 12:19:03AM +0300, Laurent Pinchart wrote:
> On Friday 07 August 2015 17:30:08 Laurent Pinchart wrote:
> > On Friday 07 August 2015 14:53:22 Thierry Reding wrote:
> > > On Thu, Aug 06, 2015 at 03:23:00AM +0300, Laurent Pinchart wrote:
> > > > The plane reset handler frees the plane state and allocates a new
> > > > default state, but when doing so attempt to free the plane state using
> > > > the base plane state pointer instead of casting it to the
> > > > driver-specific state object that has been allocated. Fix it by using
> > > > the rcar_du_plane_atomic_destroy_state() function to destroy the plane
> > > > state instead of duplicating the code.
> > > > 
> > > > Signed-off-by: Laurent Pinchart
> > > > <laurent.pinchart+renesas at ideasonboard.com>
> > > > ---
> > > > 
> > > >  drivers/gpu/drm/rcar-du/rcar_du_plane.c | 45 ++++++++++++--------------
> > > >  1 file changed, 22 insertions(+), 23 deletions(-)
> > > > 
> > > > Should the DRM core free the atomic state before calling the reset
> > > > operation ? That would simplify drivers.
> > > 
> > > The core can't do that because drivers might have subclassed the state.
> > 
> > But the core can call the .atomic_destroy_state() operation, can't it ?
> 
> Thierry, Daniel, any comment on this ?

Doesn't really help you since the kzalloc is still in the helper. Btw this
is all helper code, core won't do here anything at all ;-)

But we could still do it simply as a refactoring and to show drivers how
to implement their _reset with less copypasting.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list