On Wed, Nov 26, 2014 at 07:08:23PM -0500, Rob Clark wrote: > _object_find() is not supposed to check for refcnt'd objects, that is > done in drm_mode_object_find(). > > Signed-off-by: Rob Clark <robdclark at gmail.com> > --- > drivers/gpu/drm/drm_crtc.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > index 9972cc8..3ba84df 100644 > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -356,9 +356,6 @@ static struct drm_mode_object *_object_find(struct > drm_device *dev, > obj = NULL; > if (obj && obj->id != id) > obj = NULL; > - /* don't leak out unref'd fb's */ > - if (obj && (obj->type == DRM_MODE_OBJECT_FB)) > - obj = NULL; > mutex_unlock(&dev->mode_config.idr_mutex);
Can't we just create a new _object_exists which returns bool? I know that this is safe, but it's also really tricky. And we have to get rid of the fairly useful comment explaining why this is dangerous. It's a bit of copypasted code, but imo that's much better here. Especially if there's a comment about refcounted objects. So still nack for this one. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch