On Sat, 1 Feb 2020 09:17:57 +0300 Dan Carpenter wrote: > On Sat, Feb 01, 2020 at 12:32:09PM +0800, Hillf Danton wrote: > > > > Release obj in error path. > > > > --- a/drivers/gpu/drm/vgem/vgem_drv.c > > +++ b/drivers/gpu/drm/vgem/vgem_drv.c > > @@ -196,10 +196,10 @@ static struct drm_gem_object *vgem_gem_c > > return ERR_CAST(obj); > > > > ret = drm_gem_handle_create(file, &obj->base, handle); > > - drm_gem_object_put_unlocked(&obj->base); > > - if (ret) > > + if (ret) { > > + drm_gem_object_put_unlocked(&obj->base); > > return ERR_PTR(ret); > > - > > + } > > return &obj->base; > > Oh yeah. It's weird that we never noticed the success path was broken. > It's been that way for three years and no one noticed at all. Very > strange. > > Anyway, it already gets freed on error in drm_gem_handle_create() so > we should just delete the drm_gem_object_put_unlocked() here it looks > like. Good catch, Dan :P Would you please post a patch sometime convenient next week? Thanks Hillf _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx