On Tue, Dec 12, 2017 at 02:04:14PM +0200, Marius Vlad wrote: > This case can been seen when creating the lease with same objects passed. > > Signed-off-by: Marius Vlad <marius-cristian.vlad@xxxxxxx> > --- > drivers/gpu/drm/drm_lease.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_lease.c b/drivers/gpu/drm/drm_lease.c > index d1eb56a..ae57f33 100644 > --- a/drivers/gpu/drm/drm_lease.c > +++ b/drivers/gpu/drm/drm_lease.c > @@ -254,8 +254,6 @@ static struct drm_master *drm_lease_create(struct drm_master *lessor, struct idr > return lessee; > > out_lessee: > - drm_master_put(&lessee); I'm not really following here ... the lessee reference we're dropping here is created in drm_master_create. We're only calling drm_master_put if that succeeded. Removing this line here looks like now we're leaking. Where is the double-free? I don't see the 2nd drm_master_put() anywhere ... drm_mode_create_lease_ioctl also seems to be doing the right thing from just staring at it. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel