[PATCH] drm: allow drm_property_change_is_valid() to work on FB's

Daniel Vetter daniel at ffwll.ch
Thu Nov 27 01:49:15 PST 2014


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


More information about the dri-devel mailing list