[PATCH] drm/i915/sprite: Fix mem leak in intel_plane_init()

Daniel Vetter daniel at ffwll.ch
Wed Jun 27 04:36:09 PDT 2012


On Tue, Jun 26, 2012 at 05:12:46PM -0700, Jesse Barnes wrote:
> On Wed, 27 Jun 2012 00:55:37 +0200 (CEST)
> Jesper Juhl <jj at chaosbits.net> wrote:
> 
> > If we ever hit the default case in the switch statement we'll return
> > from the function without freeing the memory we just allocated to
> > 'intel_plane' (but that has not been used).
> > 
> > This patch gets rid of the leak by freeing the memory just before we
> > return.
> > 
> > Signed-off-by: Jesper Juhl <jj at chaosbits.net>
> > ---
> >  drivers/gpu/drm/i915/intel_sprite.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> > index 2a20fb0..c8851ba 100644
> > --- a/drivers/gpu/drm/i915/intel_sprite.c
> > +++ b/drivers/gpu/drm/i915/intel_sprite.c
> > @@ -685,6 +685,7 @@ intel_plane_init(struct drm_device *dev, enum pipe pipe)
> >  		break;
> >  
> >  	default:
> > +		kfree(intel_plane);
> >  		return -ENODEV;
> >  	}
> >  
> > @@ -699,4 +700,3 @@ intel_plane_init(struct drm_device *dev, enum pipe pipe)
> >  
> >  	return ret;
> >  }
> 
> Yeah, looks fine.  I just fixed the same thing in a local tree (though
> by using a goto since I added another path that could fail).
> 
> Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
Queued for -next, thanks for the patch.
-Daniel
-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48


More information about the dri-devel mailing list