Skip to content

Commit ef4c627

Browse files
committed
drm/gem: Check locking in drm_gem_object_unreference
Pretty soon only some drivers will need dev->struct_mutex in their gem_free_object callbacks. Hence it's really important to make sure everything still keeps getting this right. v2: Don't check for locking before we check for non-NULL obj. Spotted by Dan Carpenter. Link: http://mid.gmane.org/1444894601-5200-10-git-send-email-daniel.vetter@ffwll.ch Reviewed-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
1 parent 4e270f0 commit ef4c627

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

include/drm/drm_gem.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,11 @@ drm_gem_object_reference(struct drm_gem_object *obj)
142142
static inline void
143143
drm_gem_object_unreference(struct drm_gem_object *obj)
144144
{
145-
if (obj != NULL)
145+
if (obj != NULL) {
146+
WARN_ON(!mutex_is_locked(&obj->dev->struct_mutex));
147+
146148
kref_put(&obj->refcount, drm_gem_object_free);
149+
}
147150
}
148151

149152
static inline void

0 commit comments

Comments
 (0)